- 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` |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
* [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
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
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.
- 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 '='.
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.
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.
`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
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.
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.
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.
* 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.
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.
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.
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.
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.
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
Install ubuntu(18.04) libvterm-dev will cause compilation error,
update latest doc from emacs-libvterm, it shall download
latest libvterm automatically.
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