Commit graph

2250 commits

Author SHA1 Message Date
Riccardo Binetti 6bafc72697 Enhance +lang/zig layer
Add support to LSP via zls (see also
https://github.com/emacs-lsp/lsp-mode/pull/2723)
2021-04-09 22:28:08 +02:00
Maximilian Wolff dc07cdbdc3 [windows-scripts] Add missing keybinding to docs
Automatic keybinding extraction is not yet
live.
2021-04-09 20:18:42 +00:00
Lucius Hu 96008496d6 windows-scripts: replaced dos.el with bat-mode, added bmx-mode
- Replaced `dos.el` with `bat-mode`
  - `dos.el` is superseded by `bat-mode`
  - `dos.el` is localised package
  - `bat-mode` is a built-in mode
- Added `bmx-mode`
  - `bmx-mode` provided syntax highlighting, code-navigation and refactoring
    capabilities on top of `bat-mode`
2021-04-09 20:08:55 +00:00
Lucius Hu 49d1eaed50 rust and lsp: better integration of lsp-rust-analyzer-reload-workspace
- Introduced a new command cargo-process-outdated
- Certain commands are known to change Cargo.toml and needs to reload workspace,
  wrapper functions that automatically reload workspace are added.
  - spacemacs/cargo-process-add
  - spacemacs/cargo-process-rm
  - spacemacs/cargo-process-outdated
- Added a layer variable for rust layer, cargo-process-reload-on-modify,
  which toggle the aforementioned behaviour.
- Added a new utility function in LSP layer, which returns server ID associated
  with current project.
  - spacemacs//lsp-client-server-id
- Rearranged keybindings for rust layers (see table below for details)

Commands wrapped with auto-reload functionality:

|Command                  |Binding      |
|-------------------------|-------------|
|`cargo-process-repeat`   |`SPC m c .`  |
|`cargo-process-add`      |`SPC m c a`  |
|`cargo-process-rm`       |`SPC m c r`  |
|`cargo-process-upgrade`  |`SPC m c U`  |

Commands with new bindings:

|Command                            |Old Binding |New Binding |
|-----------------------------------|------------|------------|
|`cargo-process-search`             |`SPC m c s` |`SPC m c /` |
|`cargo-process-fmt`                |`SPC m c f` |`SPC m c =` |
|`cargo-process-current-file-tests` |`SPC m c o` |`SPC m t b` |
|`cargo-process-current-test`       |`SPC m c t` |`SPC m t t` |
|`cargo-process-test`               |`SPC m t`   |`SPC m t a` |
2021-04-09 21:56:22 +02:00
emacspace 95a703b684 documentation formatting: Fri Apr 9 11:56:19 UTC 2021 2021-04-09 21:41:03 +02:00
Benjamin Sorenson d2b7399958 Fix bug in spacemacs//python-setup-backend () 2021-04-09 21:39:07 +02:00
Julien Debon e817e0faae
[Python layer] Add links to the LSP implementations (#14562)
* [Python layer] Document Nix + Microsoft LSP

* Document how to make Nix + Microsoft LSP work
* Add links to Microsoft LSP and Pyright repos

* Remove nix part
2021-04-08 22:10:33 +02:00
Lucius Hu b0dc044885 fixup! purescript: refactor 2021-04-05 22:33:26 +02:00
Lucius Hu 5d39ffe98b fixup! fixup! perl5: refactor 2021-04-05 12:11:42 +02:00
Lucius Hu 145f469ec1 fixup! nim: refactor 2021-04-05 11:56:28 +02:00
Lucius Hu 79952251b4 fixup! lua: refactor 2021-04-05 11:47:53 +02:00
Lucius Hu a03585c4b5 fixup! latex: refactor 2021-04-05 11:36:54 +02:00
Lucius Hu 65f24d40d0 fixup! elm: refactor 2021-04-05 11:32:15 +02:00
German Lashevich 97a238f429 Fix packages missed in Melpa 2021-04-04 22:14:05 +02:00
Lucius Hu f7c2ce8fb6 fixup! python: refactor 2021-04-04 21:23:01 +02:00
Lucius Hu 5e641394f4 fixup! c-c++: refactor
This reverts commit e62d55b4fd.

This fixs https://github.com/syl20bnr/spacemacs/pull/14509#issuecomment-813023508
2021-04-04 19:21:46 +02:00
Lucius Hu 6e3ee5ae16 fixup! haskell: refactor 2021-04-04 19:00:40 +02:00
duianto e62d55b4fd Revert "c-c++: refactor"
This reverts commit dae0231fed.

c-c++-backend is void on startup:
https://github.com/syl20bnr/spacemacs/pull/14509#issuecomment-813023508
2021-04-04 14:43:51 +02:00
Lucius Hu 3b7650e8c3 fixup! perl5: refactor 2021-04-04 12:48:21 +02:00
Lucius Hu bec971d061 vimscript: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu b1f54b3371 typescript: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
- Replaced `(if foo bar nil)` with `(when foo bar)`
2021-04-04 12:48:21 +02:00
Lucius Hu 9b36cf2d85 sql: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 2c22a8a697 shell-scripts: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu fd3fd46224 scala: refactor
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 8f47d285a6 rust: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 652de66ab2 ruby: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 26eb3df294 python: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
2021-04-04 12:48:21 +02:00
Lucius Hu 2fbe8cd3a3 purescript: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Refactored function
2021-04-04 12:48:21 +02:00
Lucius Hu ecf7a91619 php: refactor
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 99aad0d957 perl5: refactor
- Moved backend determination to `config.el`
- Refactored function
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 2b2b068792 nim: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Refactored function
- Removed unnecessary `progn`
2021-04-04 12:48:21 +02:00
Lucius Hu e55bf5e495 lua: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Refactored function
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
2021-04-04 12:48:21 +02:00
Lucius Hu cd0c914ba1 latex: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Refactored function
2021-04-04 12:48:21 +02:00
Lucius Hu 4ff5027b80 kotlin: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 40c72dc437 julia: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Refactored function
2021-04-04 12:48:21 +02:00
Lucius Hu 64a349576b json: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu b395671066 javascript: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
- Replaccd `(cond ((eq foo) bar))` form with `(pcase (foo bar))`
2021-04-04 12:48:21 +02:00
Lucius Hu 701ec57df9 java: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 2eda5371d8 haskell: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu e8e99500d4 groovy: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 0ef957b529 go: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced unnecessary backquote construct with simple quotation
2021-04-04 12:48:21 +02:00
Lucius Hu 925e3a8265 fsharp: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Moved function from `packages.el` to `func.el`
2021-04-04 12:48:21 +02:00
Lucius Hu a427fa10df ess: refactor
- Moved backend determination to `config.el`
2021-04-04 12:48:21 +02:00
Lucius Hu b265984d17 erlang: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu f126f3e093 elm: refactor
- Moved backend determination to `config.el`
- Refactored function
- Replaced unnecessary backquote construct with simple quotation
2021-04-04 12:48:21 +02:00
Lucius Hu 9b6ffd7c22 elixir: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Removed unnecessary `progn`
2021-04-04 12:48:21 +02:00
Lucius Hu 43c4fa8772 dart: refactor
- Replaced unnecessary backquote construct with simple quotation
2021-04-04 12:48:21 +02:00
Lucius Hu bb3bb404a8 csharp: refactor
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 1d7d9db490 crystal: refactor
- Moved backend determination to `config.el`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 03da968a98 squash! clojure: refactor
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
2021-04-04 12:48:21 +02:00
Lucius Hu 4bf3501488 clojure: refactor
- Moved backend determination to `config.el`
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu dae0231fed c-c++: refactor
- Moved backend determination to `config.el`
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
- Replaced unnecessary backquote construct with simple quotation
- Replaced `pcase` form with only one-arm with `when` or `unless` form
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
- Removed unnecessary `progn`
2021-04-04 12:48:21 +02:00
Lucius Hu 7740fea4e1 dumb-jump: Replace obsolete interface with xref-backend
- Add `dumb-jump-xref-activate` hook to `xref-backend-functions`, which
  add a fallback option, i.e. `dumb-jump`, when no better alternatives
  is availabe
- Removed the obsolte interface `dumb-jump-go` from the following layers:
  - clojure
  - latex
  - vue
- The global binding `SPC j q` requires the obsolte function
  `dumb-jump-quick-look` and is therfore removed
2021-03-31 18:50:44 +02:00
Lin Sun 3987753a34 [+layer/c-c++] respect the c-c++-enable-rtags-completion setting
The variable `c-c++-enable-rtags-completion` is for enable/disable the rtags
completion.
2021-03-30 22:31:30 +02:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Codruț Constantin Gușoi bc51b6a5ea Fix lambda quoting warning
../.emacs.d/layers/+lang/yaml/packages.el: Warning: (lambda nil \.\.\.) quoted with ' rather than with #'
2021-03-23 15:23:36 +00:00
Maximilian Wolff 6d40ee8e10 Revert "python: replaced local package pylookup with the one on github"
This reverts commit 6e0f650101.
The reason for this is not that the dynamically build pylookup.py
is not found by emacs, this I have already solved locally by checking
the quelpa build directory.

However the issue is that the library is not compatible with python 3
the local version however is.

So this is effectively a fork and must be kept till python 3
compatibility for pylookup has been achieved.

Should fix #14544
2021-03-21 09:53:13 +00:00
syl20bnr 0ed84490d5 [scala] Fix typos
Fix typos mentioned by a user via email.
2021-03-20 21:37:10 -04:00
Maximilian Wolff 86ea9871cb [scala] Make changed default behaviour more clear in docs 2021-03-20 21:02:09 +00:00
EstebanMarin 0ccea3c436 Update to default behaviour
When working long hours with Metals and saving and moving between buffers. This feature of automatically showing and writing in buffers breaks HELM, and buffer management stops, rendering Emacs useless. Furthermore, this feature is not that useful. In VIM LSP is off by default. The purpose of this is to make the experience of Scala Developers with Metals a nice one, rather than having Emacs breaking all the time, as has been happening to me. This has saved me hours.

PR-comments
2021-03-20 20:59:25 +00:00
timor 93f16c6a02 [factor] Only reload fuel mode if factor root path has changed.
Without this, fuel mode is reloaded needlessly on every Factor REPL restart.
Now we only do that if the Factor about to be invoked is a different one than
before.
2021-03-20 21:20:28 +01:00
Teo Klestrup Röijezon 170e4a9852 Add keybind to reload Rust-Analyzer workspace
Allows you to pick up new Cargo dependencies without a (slooow)
full server restart.

See https://github.com/emacs-lsp/lsp-mode/pull/2728

Add diagnostic messages when trying to reload RA workspace

No point restarting when trying to reload RLS
2021-03-20 20:14:40 +00:00
ClarityStorm a8d3d99894 Add Edebug Eval List key bindings 2021-03-20 20:56:09 +01:00
Maximilian Wolff a9d5c5ed25
[python] Fix invalid recipe declaration for nose.el 2021-03-20 00:24:59 +01:00
Lucius Hu fb16fa95cb
python: replaced local package nose with syl20bnr/nose.el 2021-03-20 00:24:28 +01:00
Maximilian Wolff e0a94825fe
[python] Fix broken fetcher declaration for pylookup 2021-03-20 00:11:38 +01:00
Lucius Hu 6e0f650101 python: replaced local package pylookup with the one on github 2021-03-19 23:54:13 +01:00
Lucius Hu d6eb0f9fe6 rust: Improved LSP Rust server switch functionality
Currently, when `lsp` backend is used for `rust` layer, `SPC m s s` is bound to
`lsp-rust-switch-server`, which temporarily changes the preferred LSP server
for `rust-mode`, but it DOES NOT switch the running LSP server. Users need to
call `lsp-workspace-restart` to finish the switching.

This PR introduced a new function `spacemacs//lsp-rust-switch-server`, which is
a wrapper for the two aforementioned functions
2021-03-19 12:54:41 +01:00
Maximilian Wolff 8f854da649
Make auto-completion activate/deactivate smartparens properly
auto-completion did not respect the smartparens-mode
defined in the dotfile when disabling/restoring it.

In addition when starting a yasnippet expansion
smartparens-mode was not properly restored resulting
in having smartparens always disabled.

This PR tries to fix both issues. Though judging from
the comments this could kill `hippie-expand` expansion.
However as yasnippet is more common I think this is
to be preferred.
2021-03-16 22:21:40 +01:00
Maximilian Wolff 9ff2004706 Avoid special handling of smartparens in lisp layers
emacs-lisp and common-lisp-layer had both their own
logic to work with smartparens including manually
requiring it.

This PR makes them use the standard functions. In
addition it replaces the manual require with proper
autoloading of smartparens.
2021-03-16 18:54:18 +00:00
Maximilian Wolff 6018580958 Make layers activate/deactivate the right version of smartparens
Before layers were sometimes only activating the non strict
version of smartparens. Also some were only disabling
the non-strict version leaving some of the smartparens
advices intact.

With this PR, all layers set the right version of smartparens.
Also if the layer is trying to disable it a standard function
will now take care to disable all versions of smartparens.
2021-03-16 17:47:15 +00:00
Magnus Therning 2fec4a49be [haskell] Add a binding to change the target for the session
Using the correct target for the Haskell session is required when working on a
project with more than one target defined in the Cabal file.
2021-03-14 09:48:15 +01:00
emacspace 13791616c7
[bot] Auto-update (#14398)
* documentation formatting: Sat Mar 13 23:53:10 UTC 2021

* Built-in files auto-update: Sat Mar 13 23:51:34 UTC 2021
2021-03-14 00:57:56 +01:00
Peixian Wang 34aeca5f98 Add note on which jar to use
Build system for https://github.com/prominic/groovy-language-server generates two different jars, this adds a note on which jar to use.
2021-03-14 00:11:26 +01:00
Ben Swift b2d89fdc3f [ess] add keybinding for ess-quit 2021-03-14 00:07:57 +01:00
Corentin 4409d39bec Fixes error if parsing ipython dev version 2021-03-13 23:40:53 +01:00
syl20bnr 0a0d623c19 [autohotkey] Enable auto-completion 2021-03-03 22:38:58 -05:00
syl20bnr a8aa24af45 [autohotkey] Work-around for prog-mode-hook 2021-03-03 22:38:19 -05:00
Ivan Yonchovski 2efe665bce [java] New keybindings for lsp-java 2021-02-28 20:34:35 +01:00
Maximilian Wolff 37008c07c4
[typescript] Restore format bindings for typescript-tsx-mode 2021-02-23 22:17:44 +01:00
Maximilian Wolff 98176b130c
[typescript] Cleanup bindings to avoid duplicate code 2021-02-22 22:32:11 +01:00
Cheng, Rong 1f1ed2a976
Add typescript-format keybinding in typescript-tsx-mode
typescript-format is bound to leader-key == in typescript-mode, but not
in typescript-tsx-mode.
2021-02-22 22:08:30 +01:00
Lin Sun 23af0c540a [markdown] remove duplicating code which already exists in "markdown-mode" 2021-02-22 22:01:51 +01:00
Maximilian Wolff cecc4ef887
[markdown] Make sure not to throw when git-commit-mode is not bound
Should fix #14397
2021-02-21 23:34:02 +01:00
Maximilian Wolff e5620ddfbf Reverted ESS: Fixes syl20bnr#13282
Having sourced a file for every R repl session
is not working reliably due to the different
value of DISPLAY on every environment.

Users are expected to use R specific ways
to set their env variables for now.
2021-02-20 07:40:13 +00:00
duianto f4999e8242 Restore evil-visual-state-map on edebug exit
problem:
Exiting edebug-mode, leaves the evil-visual-state-map
with only the two key bindings that are defined in:
evilified-state--setup-visual-state-keymap
y       evil-yank
escape  evil-exit-visual-state

solution:
Restore the evil-visual-state-map when exiting edebug-mode.

Added an alias for the new exit function:
evilified-state--evilified-state-on-exit

called: evil-evilified-state-exit
the opposite of: evil-evilified-state
2021-02-20 07:49:43 +01:00
Lin Sun 0220101c7f [markdown] fix warning message for #14387 2021-02-20 07:48:06 +01:00
Maximilian Wolff e4452f9a85
[ess] Set DISPLAY in R buffer only if not set already
See #13282
2021-02-16 23:04:02 +01:00
emacspace 7eaa072234 documentation formatting: Sat Feb 13 22:58:15 UTC 2021 2021-02-14 00:00:32 +01:00
Maximilian Wolff 8f934f138d
[lua] Fix unbound var error during layer load
I have introduced a small typo which I
am fixing here.
2021-02-13 23:20:37 +01:00
Maximilian Wolff fc2aa2601c [lua] Revise layer and fix LSP integration
The lsp integration was not standard at all in
this layer I have refactored it now to be working
like the rest of Spacemacs.
2021-02-13 21:53:57 +00:00
Lin Sun ca0fe33c8d [lua] more lsp backends for lua 2021-02-13 20:50:39 +00:00
Aaron L. Zeng 901082b914 [fsharp] Declare package eglot-fsharp
eglot-fsharp is now distributed as a separate MELPA package from
fsharp-mode, so it needs to be listed in `fsharp-packages`.

Also, refactor some conditions to read more clearly.
2021-02-13 09:48:08 +01:00
JAremko 91d5bfbadc Add eval to comment elisp-mode function 2021-02-13 09:45:00 +01:00
duianto 9375d6f54d Add missing space before defun args parens 2021-02-10 08:51:55 +01:00
Jamal Rahhali fae767afd8 Change elm-analysis -> elm-analyse
There is no such NPM package elm-analysis, but there is an elm-analyse.
2021-02-09 22:15:51 +01:00
emacspace 68444f5487 documentation formatting: Sun Feb 7 21:35:33 UTC 2021 2021-02-07 23:25:33 +01:00
Matthew Leach b18c87c832
[javascript] add npm-mode (#14347)
* [javascript] add npm-mode

Add npm mode to the javascript layer.  This allows easy execution of npm
commands at the project root from any javascript file in the project.

* [javascript] defer loading of npm-mode

Defer loading of the npm-mode package.

* [javascript] remove superfluous `progn'

The `:init' command is only a single command and thus doesn't need to be wrapped
in a `progn'.

* [javascript] fix typo in npm-mode docs

s/avilable/available/

* [javascript] add additional npm-mode commands

Add and document missing commands from npm-mode.
2021-02-07 07:46:06 +01:00
Maximilian Wolff c24905bf89
[markdown] Fix formating issues introduced in my last commit 2021-02-04 23:21:37 +01:00