I chose to go this way rather than the other way because:
* Whenever you can avoid holding down a modifier key, great!
* It seems like the more specific should yield to the more general
This may be a controversial change, because it could break some folks' finger
memory. However I consider this a very unpleasant inconsistency that inhibits
the development of finger memory, so I thought I would at least suggest it as
the default for Spacemacs.
"SPC d" was used for documentation related keybindings, such as in `dash`
layer.
But it's now used for `dap` layer exclusively.
Removing this won't cause any issue as `dap` layer would correctly set
the keybindings once it's loaded.
* Bind typescript-format to "==" or "=" depending on backend
This fixes a problem when using 'lsp backend: the lsp layer binds its own
formatting functions under "=" as a prefix. The spacemacs/typescript-format
function which the typescript layer defines has advantages over these, mainly
it respects the typescript-fmt-tool variable (uses the formatting tool that
theuser specified).
This patch solves this by keybinding leader+"==" to the function when
typescript-backend is set to 'lsp and binding to leader+"=" in any other case.
* Fix an accidentally deleted keybinding in table in documentation
* use getter for backend variable
Co-authored-by: nanashi0x74 <rian.lindenberger@mpq.se>
This enables navigating up in the `ivy-reverse-i-search` list with `C-k`.
The same rebinding from `C-k` to `C-M-k` to kill a list entry,
is also done in the `ivy-switch-buffer`.
By default Ivy uses `find-file` which uses Emacs `abort-if-file-too-large`
function to check/warn before opening large files. That function however does
not take into account Spacemacs its `spacemacs-large-file-modes-list`. Instead
ivy should use `find-file-noselect` to skip Emacs it large file warning and let
it to Spacemacs its `spacemacs/check-large-file` function. Additionally [Emacs
tips on
comments](https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html)
recommends to use 3 semicolons for comments that function as headings.
Fsharp-mode has recently undergone some major changes. FSAutocomplete is
no longer distributed with Fsharp-mode. Instead Eglot is used a language
server that pulls in FSAutocomplete. To get auto-completion working
again eglot-fsharp has to be required and an instance of Eglot has to be
started once an F# file is opened.
* Group `line-number` funcs under SPC t n
* Better name: absolute-line-numbers
Keep the old symbols around for backwards compatibility
Co-authored-by: Rostislav Svoboda <Rostislav.Svoboda@gmail.com>
- 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 '='.
The PR fixes an issue where spacemacs is in a bad state after upgrading. I
suppose what happens is that `evil-set-undo-system` is invoked before `evil` is necessarily the correct version.
org-jira is typically used from org major mode - new keybindings add a more
convenient way of invoking its functions.
The new org-jira submenu is available under "mj" - using the same pattern as
org-trello.
Add org-roam support along with keybindings under new menu prefix "SPC a o r".
Assign layer search keybinding ("SPC a o /") to helm-org-rifle, falling back to
previously assigned function (org-occur-in-agenda-files) when using ivy.
Creating another keybinding for org-occur-in-agenda-files is not necessary,
as it can be accessed with another existing keybinding ("SPC a o o /").
problem:
The following error messages are shown.
When trying to move, select or swap the current buffer,
to a window nr greater than the total number of open windows.
For example:
With only one window open.
`SPC b 2`
>ad-Advice-select-window: Wrong type argument: window-live-p, nil
In the Buffer Transient State (`SPC b .`):
- `C-2` (`spacemacs/buffer-transient-state/winum-select-window-2`)
>Wrong type argument: window-valid-p, #<window 12>
- `2` (`spacemacs/buffer-transient-state/move-buffer-window-no-follow-2`)
>Wrong type argument: window-live-p, #<window 14>
- `M-2` (`spacemacs/buffer-transient-state/swap-buffer-window-no-follow-2`)
>Wrong type argument: stringp, nil
Solution:
Show a descriptive message, if the target window nr is greater than the number
of open windows. And ignore the LV buffer (hydra).
Helm already has spacemacs/resume-last-search-buffer bound to it and is in my
muscle memory. spacemacs/resume-last-search-buffer doesn't work with ivy, so
just use ivy-resume.
Spacemacs uses spacemacs/swiper functions that use the less sophisticated
spacemacs//counsel-current-region-or-symbol instead of ivy's native
ivy-thing-at-point function. This commit removes those spacemacs functions and
rebinds the shortcuts to their better native equivalents.
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.
New command added to CIDER in version 0.26 to evaluate the list around the
current point, different to evaluate sexp around point which also evaluates
symbols.
https://github.com/clojure-emacs/cider/pull/2881
Resolves#13948
problem:
The p key tries to paste in the read-only magit buffer,
instead of calling magit-push.
After toggling text-mode on and off (C-t or \),
because evil-mc-mode becomes enabled when text-mode is enabled.
* [core] Fix evil keybindings when a link is selected in Custom-mode
This uses a separate keymap bound directly to the widget and circumvents the
existing evil keybindings.
This fixes the bug found by @duianto, which he posted
[here](https://github.com/syl20bnr/spacemacs/pull/13949#issuecomment-694685304).
* [core] Fix q and u to work everywhere in a Custom-mode buffer
* [markdown] Anchor auto-mode-alist entries
A file named foo.mkd.patch should use diff-mode, not markdown-mode.
* [markdown] Simplify regexp in mode specifiers
Putting k in brackets here has no effect.
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.
tab is reserved by the auto-completion layer and
shall never be overwriten in a layer. This moves
emmet-expand to a similar binding which was
originally used by emmet for non evil users.
This treats evil and non evil users alike and
avoid conflicts with company key bindings.
Still a layer changing the meaning of tab is
a bad idea, this key is reserved for auto-completion-layer.
We should add an alternative binding for it but this commit
focuses on removing the conflicts with company popup scrolling
first.
`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
When the corrupted `elc` file is detected
`cider-jack-in-lein-plugin` has a nil value
value added already which causes `cider` to fail.
This commit removes such a row in that case.
It seems to happen from time to time that sayid is not
properly compiled after the installation. In this case
the variable `sayid-version` is `nil` causing
nRepl to fail.
This commit tries to work around this problem by
reinstalling the package if this corruption is detected.
This normally fixes the issue described in #13906.
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.
Microsoft has released pyright language server for python. It boasts better
performance than the old Microsoft language server for python. This commit adds
supports for pyright language server in python layer
* Switch from nabero's ron mode to my own custom ron-mode (hosted on MELPA)
* Replace depreciated perl6-mode withraku-mode
* Remember to update the init function
* Add RTags shortcuts for trees and dead functions
The change will add 3 shortcuts for dependency, references trees and for finding dead functions.
* Additions of some key bindings
We should always define the 2 flycheck initialization functions:
Spacemacs will call them as needed only when enabling syntax checking.
Previously flycheck wasn't getting activated at all.
Only activate `flycheck-ocaml` when a `.merlin` file is present.
It would work when there isn't but there is a high chance that you will
get a lot of errors displayed because it could not find any of the used
modules (`.merlin` specifies module paths).
OCaml projects usually do have a `.merlin` file
(either hand crafted or generated by the build system).
Signed-off-by: Edwin Török <edwin@etorok.net>
lang/ocaml: add merlin-eldoc and merlin-imenu support
This displays the type and documentation of thing under point
and highlights occurrences automatically when idle. Could be achieved by appropriate use of
keyboard shortcuts already set up by this module.
However `merlin-eldoc` can also display the expected type of function call parameters,
which merlin itself wouldn't.
`merlin-imenu` allows jumping to top level modules/functions/etc. bound
by default to `SPC j i`.
Signed-off-by: Edwin Török <edwin@etorok.net>
lang/ocaml: add merlin-iedit multiple cursor refactoring
bound to `, r e`.
Signed-off-by: Edwin Török <edwin@etorok.net>
fixup! lang/ocaml: add merlin-iedit multiple cursor refactoring
fixup! lang/ocaml: fix flycheck-ocaml activation
fixup! lang/ocaml: add merlin-eldoc and merlin-imenu support
biblio-/core is pulled in by multiple packages in this
layer already and their package declarations was empty.
Users can access the functionality biblio offers
from helm-bibtex.
The spacemacs analogue of cider-load-buffer-and-switch-to-repl-buffer
doesn't accept an argument to set the namespace while you are switching
to the repl buffer. This adds support for an argument, invokable with
the universal argument, for setting up the namespace as well. This will
eliminate an extra `(in-ns ...)` or `, s n` call as long as you invoke
`, s B` prefixed by the universal argument: `SPC u , s B`.
Missing parentheses around:
"\\.ron\\'" . ron-mode
in the line:
:mode "\\.ron\\'" . ron-mode
Updated the rust readme to mention the .ron support.
And added a changelog.develop entry.