When entering insert mode, don't start editing in the middle of the prompt text.
That is, given:
~/foo/bar> some command
^ ^ ^
A B C
Cursor A will jump to position C but cursor B won't.
Edit by duianto
This also stops the cursor from jumping to the end of the last line,
when entering insert state, from all but the last line in a multi line.
Example:
~/foo/bar>(+
1{cursor in normal state on the 1}
2)
Entering insert state: i
Before:
~/foo/bar>(+
1
2){cursor in insert state after the close parenthesis}
After:
~/foo/bar>(+
{cursor in insert state before the 1}1
2)
Previously, this would try to add the lsp jump handler to the mode's jump
handler list every time lsp started managing a buffer of that mode. Now, we only
use the lsp jump handler for buffers managed by lsp.
Introduced in PR #11949, terminal-here wasn't wrapped in `use-package'. This
made it impossible to use `spacemacs|use-package-add-hook' to customize it.
Added undocumented keybindings to README.org
Moved bindings from top level to application specific
Fix some smaller documentation issues
Added "quickurls" file to .gitignore
Integrated terminal emulators/integrated shells get the job done for
quick-and-dirty shell commands, but a lot of people take great care to tweak
their terminal workflow exactly to their liking. This makes it possible to
switch to that workflow seamlessly, by opening their terminal emulator of
choosing in the current directory or at the project root, and even supports
working over `ssh` using `tramp`.
Adjust the documentation to be more clear how to activate the new lsp feature.
Simplify layer setup code.
Provide missing company-lsp integration in feature list.
Remove obsolete tests for a loaded lsp layer as the docker layer loads it
itself already.
Effectively, this forces `vterm` to spawn a shell set in a
`shell-default-term-shell` variable i/o default "/bin/bash" - just like
other shells from `shell-pop` do.
* layers/+tools/shell/packages.el (shell/init-eshell-z): Replace use of
with-eval-after-load by using use-package's :after keyword to load eshell-z
when eshell is loaded.
There was a edge case with the declaration of the `lsp` layer in `layers.el`
files.
The `hy` layer depends on the `python` layer which in turn depends on the `lsp`
layer if and only if the `python-backend` layer variable is set to `lsp`.
When the `hy` layer was declared first then it declares the `python` layer
without its layer variables, thus the `lsp` layer was not declared because the
`python-backend` variable was not set.
The fix is to gather all the layer dependencies and resolve them only after all
the used layers have been declared.
* new function `configuration-layer/declare-layer-dependencies`
* replace all calls to `configuration-layer/declare-layer` by the new function
except for distribution layers (we declare layer dependencies right away in
distribution layers)
* use local-vars-hook coupled to setup function for dap
* define new private layer variable `spacemacs--dap-supported-modes` to
configure key bindings. This allows to move the key bindings definition from
`funcs.el` to `packages.el`
* remove duplication of DAP key bindings in READMEs by pointing to the dap layer
documentation
* alphabetically sort package configuration
Additional path names are now detected.
However, the patterns have also been anchored more tightly, meaning they
are more accurate, so they will match less slop (this may affect certain
edge cases where people unknowingly depended on false-positives, e.g.,
`parasite.yml').
Technical details about regexp changes:
* Remove unnecessary `.*' at beginning
* Anchor file names with leading `/' to prevent partial matches
- (eg., don't match `not-main.yml')
* Restructure capture groups so that `\\.yml' extension is at very end
* Support `.yaml' extensions as well
* Anchor the very end with `$'
The `\` backslash before `.yml` in the regex has an orange (warning)
color and describe-char says:
There are text properties here:
face (font-lock-warning-face font-lock-string-face)
fontified nil
help-echo "This \\ has no effect"
Thanks smile13241324 for pointing out that double backslash escapes
a . (period).
lsp-mode had renamed lsp-shutdown-workspace and lsp-restart-workspace.
Added bindings for the following newer interactive lsp-mode functions:
- lsp-organize-imports
- lsp-document-highlight
- lsp-lens-show
- lsp-lens-hide
- lsp-treemacs-symbols
Declared new major mode prefixes (a: code actions, x: text/code).
Moved execute-code-action binding under new `a` prefix.
Also disabled helm-lsp keybindings when ivy layer in use.
As mentioned in https://github.com/syl20bnr/spacemacs/issues/10779#issuecomment-427712967,
emacs 26.1 changed the default behavior for term-char-mode to prevent cursor
movement. This change restores consistent behavior on all versions of emacs and
allows normal-mode motions to work again.
Note that the buffer is still read-only while in normal-mode, so operators that
change the line (such as `C`, `D`, `S`) still don't work.
Fixes#10956Fixes#10779
add an internal variable for `lsp` layer `lsp-layer--active-mode-list`
to keep track of active major modes using lsp,
`spacemacs//lsp-declare-prefixes-for-mode` will check this variable
to decide whether to add prefix to which-key or not
Currently, when a terminal is ended, its window is also closed. This behavior is
not satisfying to all. Thus a layer variable is added to give an option whether
to close window with terminal.
- dap-debug-edit-template is very important for some of the debug adapters so it
is important to have a keybinding for it to improve the discoverability