Commit graph

632 commits

Author SHA1 Message Date
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
Aaron L. Zeng 57f6a2d94d [finance] Enable flycheck when syntax-checking-enable-by-default 2021-04-08 20:57:33 +02:00
Lucius Hu 80674b837d fixup! terraform: refactor 2021-04-05 19:13:14 +02:00
Lucius Hu 2e4e2eacbc fixup! cmake: refactor 2021-04-05 19:06:16 +02:00
Lucius Hu ee56edf5ae terraform: refactor
- Moved backend determination to `config.el`
- Refactored function
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu 2943305254 eaf: refactor
- Refactored function
- Replaced `(when (not foo) bar)` with `(unless foo bar)`
2021-04-04 12:48:21 +02:00
Lucius Hu 5a6f54c227 docker: refactor
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu b41bef142c dap: refactor
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucius Hu f128441286 cmake: refactor
- Moved backend determination to `config.el`
- Refactored function
- Replaced `pcase` form with only one-arm with `when` or `unless` form
2021-04-04 12:48:21 +02:00
Lucien Cartier-Tilet 1076d5ad61 [lsp] Fix org markup
Some parts of the README.org file for the lsp layer use Markdown syntax,
this commit fixes this. Some emphasis through equal signs are also
replaced by tildes for more coherence in the file.

Also the value of lsp-navigation is shown unquoted, this commit quotes
the possible values.
2021-03-31 18:36:13 +02:00
duianto 8497f5ef8e [imenu-list] Add missing header to funcs.el 2021-03-30 13:50:41 +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
Maximilian Wolff 13a5d5c95f
[shell] Make vterm support C-o in evil insert state again
vterm in evil mode did not longer support to switch
to normal mode for one command in insert mode.

This commit restores this key binding again.
2021-03-21 22:58:31 +01:00
Boris Sergeev b71e5fdb17 Enhance shell-default-position validation spec
to match values listed in it's documentation.
2021-03-19 02:34:30 +02:00
JAremko 0f2df2727d Validate .spacemacs variables. 2021-03-18 15:47:02 +02: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
Ivan Yonchovski 32ead25c35 [lsp] Bind SPC p E to helm-lsp-diagnostics
IMHO this should be global binding, the alternative was `SPC e e` because it can
be used everywhere, e. g. from compilation buffer to find the error causing the
build breakage.
2021-03-14 00:42:56 +01:00
Daniel Nicolai 721765dccb Update eaf-layer
Emacs-application-framework is actively developed. This PR updates/fixes a small
issue with dark mode toggling due to upstream development. Having three
different keybindings for toggling dark mode is not ideal. But it is at least
working for now. I have no time to closely follow the upstream developments, but
I quickly checked for major changes. This layer still seems to work fine, and
the modifications in this layer (to make EAF behave spacemacsey) are still
relevant.
2021-02-28 22:23:02 +01:00
Maximilian Wolff b3992c61ef
[lsp] Bind lsp specific toggles from SPC m T to SPC m T l
Many lisp related modes create confliciting bindings in
`SPC m T`. To avoid these clashes I have moved the LSP
specific toggles to a different prefix now.

As this just affects toggles I hope that the negative
impact on muscel memory will be minimal.
2021-02-23 20:40:42 +01:00
Maximilian Wolff 6111b27945
[languagetool] Fix missing autoload on langtool-correct-buffer
Fix #14390
2021-02-22 22:59:03 +01:00
Maximilian Wolff aa1051e1c8
Move lsp-ui back to be enabled by default
I don't think that setting this to a fixed value
will solve the issue. Right now we have a conflict
between feature rich and simple here.

This is similar to what we have with the search
integration (helm vs ivy) and in the tree
implementation (treemacs vs neotree).

For these we have a workflow during the initial
dotfile creation. Which we need to follow here
too.
2021-02-21 22:06:27 +01:00
winsphinx 9ecce8231a fix variable name in lsp doc 2021-02-21 17:53:53 +01:00
Ivan Yonchovski df09240229 [lsp] Do not include lsp-ui by default
- lsp-ui is very opinionated so better to have it enabled/installed on demand
2021-02-20 22:01:23 +01:00
duianto 9375d6f54d Add missing space before defun args parens 2021-02-10 08:51:55 +01:00
Daniel Nicolai ec8a278505 Fix EAF-layer to make it work with the epc (support Windows) 2021-02-09 22:11:23 +01:00
emacspace d9ad951c86 documentation formatting: Sun Feb 7 22:30:25 UTC 2021 2021-02-08 03:32:07 +02:00
emacspace 68444f5487 documentation formatting: Sun Feb 7 21:35:33 UTC 2021 2021-02-07 23:25:33 +01:00
Maximilian Wolff 1d84447e68
[fasd] Revise layer
Add missing standard headers
Make funcs.el define only functions
and move init code for ivy into
fasd-init function.
2021-02-07 23:01:43 +01:00
Daniel Nicolai dfd5532429
Add search-from ivy action to fasd layer
If I had known about browsing history with `C-r` before [I modified the fasd
package to implement full ivy
support](c4c04873fd),
then I guess I would not have modified it. Anyway, now that "full Ivy support"
has been merged into the fasd package, I could add this 'search-from' action
command to `fasd-find-file` which triggers Spacemacs 'search-auto'. Because fasd
only finds dirs that have been visited before, it probably does not add much to
the `C-r` functionality, but maybe it does (you decide?). Anyway, I hope you can
help decide if this is useful for merging.
2021-02-07 22:31:05 +01:00
Maximilian Wolff 884dc44a48
[eaf] Revise the new layer
Added default header to funcs.el
Replaced references to `,` with `SPC m`
Reformat and add conventional progn statements

Last but not least it seems that not all
functions are working properly, I think
this is a good basis but needs to worked
upon a bit more to reach its full potential.
2021-02-07 22:17:36 +01:00
Daniel Nicolai 5b9612f57e
Add Emacs Application Framework (EAF) layer 2021-02-07 21:34:50 +01:00
Ray Wang f01ca9a09b Document: prompt to run all-the-icons-install-fonts
If both `all-the-icons` and `lsp-headerline` are enabled
2021-02-03 22:32:56 +01:00
Thanh Vuong a6d364e0f2 [spacemacs-evil] add evil-collection
It is impossible to ignore `evil-collection` anymore. `evil-magit` has been
deprecated recently and moved to `evil-collection`.

It will save time and effort for both Spacemacs and Evil to share and contribute
to `evil-collection` imo.

However I strongly prefer Spacemacs binding scheme over evil-collection's one.
We should only pick what we need from `evil-collection`.

This PR add mechanism to embrace `evil-collection` and apply it to shell layer (`vterm`)
and git layer.
2021-01-30 01:11:07 +00:00
JAremko 31e443afd5 remove trailing space 2021-01-25 04:03:14 +02:00
Maximilian Wolff bf32e43339
[command-log] Add experimental support for keycast
Only added the package and provided proper keybindings.

Individual setup of =keycast-insert-after= for each of
the supported modelines should be contributed on a per
user basis.
2021-01-24 22:48:04 +01:00
emacspace d545dcbdbe documentation formatting: Wed Dec 30 21:04:48 UTC 2020 2020-12-30 23:41:14 +01:00
Senghoo Kim b2f014107f Make ipython notebook work with company-mode
By using the Jupyter notebook api, the ipython-notebook layer can be auto-completed by using the company-mode
2020-12-30 10:32:10 +01:00
Evan Klitzke c4ad14a73a fix some errors in the lsp readme 2020-12-26 14:59:29 +01:00
Maximilian Wolff f4ee26ce33 [dap] Set bindings after setting prefixes 2020-12-13 21:07:07 +00:00
Thanh Vuong 4b3ab4052a [tide] fix regression caused by e3b6464649
fix jump handler
2020-11-25 09:17:27 +01:00
thanhvg e3b6464649
[core][tide][lsp] improve spacemacs/set-leader-keys-for-minor-mode and apply it to tide and lsp layers (#14141)
* [core][keybinng] improve minor mode binding

This commit added add a new function defun spacemacs/declare-prefix-for-minor-mode
and improved spacemacs/set-leader-keys-for-minor-mode.

`which-key` package recently introduced a new api
which-key-add-keymap-based-replacements which improves perfomance and allows
prefix and namings to be stored directly in keymap. This is a great improvement.

With this new api we now make change to spacemacs/declare-prefix-for-minor-mode
to manage prefix also. For example:

  (spacemacs/set-leader-keys-for-minor-mode 'lsp-mode
    "=" "format"
    "=b" #'lsp-format-buffer)

Before we had to use another api to bind prefix
spacemacs/declare-prefix-for-mode which only works on major-mode. As lsp-mode is
a minor mode this api causes a lot of problems to which-key performance. An
example is https://github.com/syl20bnr/spacemacs/issues/12455 which led to my
hack in https://github.com/syl20bnr/spacemacs/pull/12474.

The improved spacemacs/set-leader-keys-for-minor-mode will take care of both
prefix and key naming for the minor mode. This will allows us to have a better
set up for dynamic minor modes such as lsp-mode, tide-mode etc.

Also another api is created to make prefix for minor mode:
spacemacs/declare-prefix-for-minor-mode.

Usage:
(spacemacs/declare-prefix-for-minor-mode 'tide-mode "E" "errors")"

* [tide] improve prefix

* [lsp] improve prefix
2020-11-21 07:34:55 +01:00
Youmu 483d5493cd Remove eshell obsolete variable
`eshell-buffer-shorthand` was removed in Emacs 25, see https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.25#L1078-L1082
2020-11-12 22:33:06 +01:00
Maximilian Wolff 24d8d329eb
[LSP] Add documentation for missing functional area "action" 2020-11-09 23:18:57 +01:00
duianto ee45910a0d [ranger] Add nil to ranger-enter-with-minus possible values 2020-10-31 14:43:09 +01:00
emacspace 45691dd545 documentation formatting: Sat Oct 31 08:55:13 UTC 2020 2020-10-31 13:07:55 +01:00
Thanh Vuong 97868ced62 fix #14100
Vterm => VTerm sorry :)
2020-10-31 09:52:49 +01:00
Maximilian Wolff abac41e8d0
Fix small doc typos in shell and latex layers 2020-10-30 21:44:17 +01:00
Thanh Vuong a477ea63ce [shell] new helm/ivy functions to search vterm history
Based on http://xenodium.com/search-bash-history-with-emacs-helm/

Add new helm/ivy functions `spacemacs/helm-vterm-search-history`,
spacemacs/counsel-vterm-search-history to search bash history and insert to
vterm/shell

Bind this function to M-r for vterm

New layer variable spacemacs-vterm-history-file-locatition to customize bash file

Default is nil.

Also bind add counsel-shell-history to `, H` for shell-mode in the same
convention as helm counterpart.

[shell] wip
2020-10-30 21:17:04 +01:00
duianto fa83c0ed5a [ranger] Add 'ranger as an option to ranger-enter-with-minus
Added 'ranger as an option to the variable: ranger-enter-with-minus
Changed the default value from: t to: 'deer.
Bound the key to evil-motion-state-map instead of evil-normal-state-map
so that - also works from the Spacemacs home buffer.
2020-10-30 20:55:04 +01:00
nanashi0x74 c8b717c9be [lsp] Add keybinding for lsp-version command 2020-10-19 11:45:53 +02:00
emacspace 598ac10337 documentation formatting: Thu Oct 15 21:23:44 UTC 2020 2020-10-15 23:33:25 +02:00
Richard Petri e98d865e61 [layers/+tools/languagetool] Allow HTTP server instead of binary 2020-10-15 23:12:41 +02:00
Lucius Hu edc2528590
Improved documentation for LSP layer
- Added documentation for the following minor modes:
  - lsp-headerline-breadcrumb-mode
  - lsp-lens-mode
  - lsp-modeline-diagnostics-mode
  - lsp-modeline-code-actions-mode
- Added description of Code Lens feature.
- Added description of default values of any variablese introduced in the
  commit.
- Added a section to brief mention the DAP integration of lsp-mode, which
  leads users the DAP layer for more details.
- Re-formatted the document, inline codes are quoted by '~' instead of '='.
2020-10-15 22:20:27 +02:00
emacspace 8fff0ea4ee documentation formatting: Sat Oct 3 18:54:32 UTC 2020 2020-10-03 22:24:57 +03:00
JAremko 8227686194 Fix links 2020-10-03 21:52:09 +03:00
JAremko 3c1a58f8c6 add Features HL to LanguageTool readme 2020-10-03 21:52:09 +03:00
duianto 458782656a [pass] Fix travis-ci error on internal link
problem:
The internal link:
-  See [[info:auth#The Unix password store][its info page]] for more details on using it.

Caused an issues with travis-ci:
https://travis-ci.org/github/syl20bnr/spacemacs/jobs/732236190#L332

error: Link "info:auth#The Unix password store" has unknown type "info"

Solution:
Linked to the same page in the online manual.
2020-10-02 22:15:35 +02:00
Daniel Nicolai 5812d52e6d Add instruction how to use ranger by default 2020-09-27 14:34:52 +02:00
Robert O'Connor 82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Elric Milon 964a736cbf
[pass] Add support for auth-source-pass and password-store-otp. (#13950)
Co-authored-by: Elric Milon <whirm@gmx.com>
2020-09-18 21:11:58 +02:00
Maximilian Wolff d8260ea041
[lsp] Fix lsp-origami integration
Looks like the provided hook statement
is not working properly with this package.
I have replaced it with the recommended
way defined in the package itself and
now it seems to work.
2020-09-17 23:54:22 +02:00
Robbert van der Helm 14dcebd4a3 Add a layer for LanguageTool support
LanguageTool is an automated proofreader and grammar checker. This layer adds
the ability to check the current buffer's contents using LanguageTool.
2020-09-17 14:05:20 +02:00
Elric Milon 4c6c6c2e96 [lsp] Add support for lsp-origami 2020-09-16 21:54:00 +02:00
Aaron L. Zeng 2b4fd06dc1 [fasd] Fix bug in fasd-find-directory-only
`fasd-find-file` incorrectly interprets a prefix argument of value 1
as equivalent to nil ([issue][0]).

Work around this bug by just passing another positive number instead.
We choose 2.

[0]: https://framagit.org/steckerhalter/emacs-fasd/-/issues/14
2020-09-14 18:34:38 +02:00
Benjamin Hipple c1650789d6 [ipython] Fix bindinding for RET in transient state
In the documentation, it says this performs execute cell and goto next, while
the code was just executing the cell.

This desync could be fixed in either direction, but executing and going to next
feels more ergonomic while in the transient state, since we're jumping around
running rather than editing in that mode, so I've fixed it to do that.
2020-09-08 20:56:52 +02:00
Maximilian Wolff cd2f56d9dd
[ipython] autoformat with proper elisp settings 2020-09-04 18:40:05 +02:00
Benjamin Hipple 10b39aa3df
[ipython] Fix elisp whitespace
This runs the default spacemacs elisp formatter on buffer save, with no
functional changes. I have further changes I'd like to integrate, but first
want to sweep this large but no-op diff forward.
2020-09-04 18:36:33 +02:00
emacspace 0fda75c688 documentation formatting: Fri Aug 28 21:26:14 UTC 2020 2020-08-28 23:41:29 +02:00
Colin Woodbury 61a9aeb42c [lsp] Remove mention of lsp-clients - fixes #13857 2020-08-19 20:04:39 +02:00
Maximilian Wolff 76301564c5
[cmake] Add lsp server support 2020-08-14 00:29:39 +02:00
Benjamin Yang 0fe36bed57 [shell] Update vterm binding in README
Back in commit ac3752ffd, the binding for `vterm` was updated to fit in with the
rest of the `shell` layer bindings (under `SPC a t s v`).  However, the `README`
was not updated to match.  This commit updates the `README` for the `shell`
layer.

Relates to #13503.
2020-07-18 09:35:11 +02:00
kenkangxgwe 21b3ae20b3
Update key bindings for vterm
* Sending <kbd>Esc</kbd> to vterm using `vterm--self-insert` results in `1;5u`,
using `vterm-send-escape` instead.
* <kbd>Ret</kbd> is not sent by `vterm--self-insert`, using `vterm-send-return`
instead.
2020-07-12 20:41:07 +02:00
Maximilian Wolff ac3752ffd7
Add missing prefixes to global application bindings 2020-07-06 23:13:52 +02:00
Maximilian Wolff b82bc40b3c
Fix ignored popwin declarations
Popwin automatically configures pupo purposes
if properly configured. While I was checking
the existing configs I have found that the
settings will be ignored if the config is not
done via a post-config hook.

A quick search revealed a lot of popwin configs
which never had any effect.

This commit fixes these and with this also
restores the missing pupo configs.
2020-07-03 21:51:33 +02:00
Maximilian Wolff b68b44a1b1
[tern] Remove unmaintained package company-tern
Company tern is not longer on melpa and had to be removed.
See #13725 for details.
2020-07-03 01:18:40 +02:00
Steve Lorimer 70232d9f58 [lsp] remove requirement for yasnippet 2020-07-01 20:42:51 +02:00
Benjamin Yang 91556a33d4 [vagrant] Correctly bind vagrant-tramp-term
According to the README, `SPC a t v t` should start `vagrant-tramp-term`, but
instead, it seems to have been bound to `SPC a t v`.  This means that it
overrode all of the other vagrant keybindings under the prefix `SPC a t v`.

The issue seems to have been a typo from commit e38c33f.

Relates to #13503.
2020-07-01 20:38:48 +02:00
Maximilian Wolff c4e420cf36
[purpose] Document how to properly declare and overwrite purposes
Also refactor purpose config in shell layer to
use the correct `post-init-window-purpose`
function.
2020-06-26 01:10:17 +02:00
emacspace 9ef6505204 documentation formatting: Wed Jun 24 20:50:11 UTC 2020 2020-06-24 23:15:02 +02:00
John Practicalli Stevenson e38c33feb0 [applications] refactor key bindings to tools
refactor key bindings for packages under +layers/tools

Relates to #13503
2020-06-24 22:43:30 +02:00
Maximilian Wolff 5dcf7ae8e6
[terraform] Revise terraform lsp support
Made lsp support for terraform follow the convention
that if not explicitly set the backend shall be
inferred from the loaded layers in the dotfile.
2020-06-22 21:27:12 +02:00
Shunya Ishii 05bc20d806
[terraform] Add LSP support for terraform-lsp 2020-06-22 20:15:12 +02:00
emacspace 78176ff6fa documentation formatting: Sat Jun 20 21:17:28 UTC 2020 2020-06-20 23:38:28 +02:00
Maximilian Wolff a51397b3ce
[meson] Rebind lookup-doc-at-point to major mode specific binding 2020-06-20 21:49:23 +02:00
Matthew Leach 421fca3cea
[meson] add layer to +tools/
Add a new meson layer to the +tools layer set.
This basic layer is a simple wrapper around meson mode.
2020-06-20 21:22:57 +02:00
Maximilian Wolff eab3081388
[CFEngine] Make mustache-mode auto-mode-alist binding during init
If this is not done opening a .mustache file would not
load mustache-mode if it has not been activated manually
before.
2020-06-07 19:32:15 +02:00
Nick Anderson f384fed4b4 Added mustache-mode to CFEngine layer
Mustache is the preferred templating in modern versions of CFEngine and it's
nice to have syntax highlighting when working with templates.

Now, when the CFEngine layer is in use, files ending in .mustache will be opened
in mustache-mode.
2020-06-07 19:28:23 +02:00
Maximilian Wolff 1fd90fc1dc
Update instructions for dap integration and update existing layers
The previous way of adding dap to a layer did add the mode
unconditionally to `spacemacs--dap-supported-modes` causing
dap bindings to be added also when no lsp backend was used.
2020-05-16 23:40:38 +02:00
Maximilian Wolff 04f2a5e58b
[dap] Fix mode specific prefixes 2020-05-16 23:40:38 +02:00
duianto a0b099b54e [spacemacs-base] Fix void layout local variable and function
The variable: layouts-enable-local-variables
and function: spacemacs/make-variable-layout-local
are defined in the layer: spacemacs-layouts

But the spacemacs-layouts layer isn't loaded
in the distribution: spacemacs-base
2020-05-16 13:44:23 +02:00
emacspace 20881cafee
documentation formatting: Fri May 15 21:10:12 UTC 2020 2020-05-15 23:57:28 +02:00
WH b81475a45c
[doc] Update latest libvterm install guide
Install ubuntu(18.04) libvterm-dev will cause compilation error,
update latest doc from emacs-libvterm, it shall download
latest libvterm automatically.
2020-05-15 22:50:46 +02:00
Maximilian Wolff d314cc7eef
Make auto-complete more configurable and efficient for lsp
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.

In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.

I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.

Changes inspired from #13507
2020-05-15 22:22:28 +02:00
CeleritasCelery fef3187337 fixed window-live issue 2020-05-11 14:49:18 +02:00
CeleritasCelery 1c47f3e8f4 Make pop-shell layout local 2020-05-11 14:49:18 +02:00
Cormac Cannon 097a1fc42d Added keybinding to focus the imenu-list sidebar, creating if necessary.
Bound under ~spc b i~.
Moved existing toggle binding under UI toggle prefix: ~spc T i~
Bindings now using spacebind macro.
2020-05-09 00:08:33 +02:00
Ivan Yonchovski 25e9635402 [fasd] Use helm-fasd in fasd layer when helm is present
- Underestimated but very handy package.
2020-05-08 22:59:36 +02:00
Xing GUO d4221c3aa6 [Debug][Doc] Fix broken link in documentation. 2020-05-06 23:10:34 +02:00
Ivan Yonchovski e5f4db6ebe [dap] Add dap-ui-controls-mode integration for dap layer 2020-04-20 19:16:19 +02:00