The warning:
nlinum layer is deprecated for Emacs 26.1 and above
wasn't shown until SPC h SPC was pressed.
Because the variable: configuration-layer--used-layers
wasn't populated before the warning check occurred in
nlinum/packages.el.
The solution (suggested by syl20bnr) was to move the
check to a new file: nlinum/config.el.
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)
`lsp-mode` supports two LSP server backend for Rust language, i.e.
`rls` and `rust-analyzer`.
`rust-analyzer` is experimental and lacks certain functionalities
such as `DAP` support.
`lsp-mode` provides a function `lsp-rust-switch-server` that changes
the priority of LSP server backend for *new* LSP session.
This commit adds a key binding `SPC m s s` to `lsp-rust-switch-server`.
There's no keybinding for markdown-insert-kbd alongside all the other
markdown-insert-* keybindings, this patch adds one using the same
convention (specifically xk).
even though we have a check if doom is actually set in
dotspacemacs-mode-line-theme in doom mode line init function. doom-modeline
still adds a bunch functions to hook `after-change-functions regardless of the
value of mode line theme name. Hence we need to put a toggle on the declaration
The cl package has been deprecated.
It had aliases for cl- prefixed commands without the cl- prefix.
Ex: letf or letf* instead of cl-letf or cl-letf*
On the `spacemacs-base` distribution, with the `ivy` layer.
When one tries to search with `SPC /`
(which calls `spacemacs/counsel-search`)
Then this error message is shown:
>spacemacs/counsel-search: Symbol’s function definition is void: letf*
It doesn't happen with the `helm` layer,
because it's search commands already has the `cl-` prefix.
There are also three instances of: `letf`
in the `spacemacs-editing-visual` layers functions:
- `spacemacs/toggle-centered-buffer` (`SPC w c c`)
- `spacemacs/toggle-distraction-free` (`SPC w c C`)
- `spacemacs/centered-buffer-transient-state` (`SPC w c .`)
Without the `cl-` prefix they show the error message:
>Symbol’s function definition is void: letf
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.
Per discussion in #13164, we have a standard, consistent technique for doing
this across any layer. Provided that `global-company-mode` is not set, this
works as expected to disable company without requiring custom variables.
Added keybindings for the Sesman REPL session management commands to the Clojure
layer, following the Spacemacs keybinding conventions.
https://docs.cider.mx/cider/0.23/usage/managing_connections.html
Sesman has been a part of CIDER for many versions now and provides session
management for nREPL connections (in fact any connections).
Sesman keybinds are placed in the `SPC m c` menu, providing a cleaner separation
between sending code to the repl and session management.
See issue #12593 and PR #13140 which covers the background for the design of
these additional keybindings.
Formatting the region and defun keybinds have been added, along with formatting
for edn files. Moved to `=` menu to match Spacemacs convention.
Evaluation up to point keybinding has also been added.
Documentation in the README has been updated to complete the description of the
existing Clojure layer, as well as including details specific to the new
keybindings.
Bind `SPC x d l` to `delete-blank-lines` (default: `C-x C-o`)
If the cursor is on a blank line:
- with blank lines above or below, then they are reduced to only one.
- without blank lines above or below, then the blank line is removed.
destructuring-bind is a macro in the deprecated package: cl
SPC-TAB calls: spacemacs/alternate-buffer
In the spacemacs-base distribution, it shows the message:
spacemacs/alternate-buffer: Symbol’s function definition is void: destructuring-bind
Also renamed three instances of destructuring-bind in the rirc layer.
The snippets seem to have been accidentally changed in this commit:
a2de9a63af (diff-75e0388987cdf040d82762426e40e5a5R434)
where other instances of checking for a layer, were changed to check for a
package.
It doesn't work to check if the haskell package is used in the user config
section, because the haskell package hasn't loaded yet.
Reverting it to check if the haskell layer is used works.
I would expect the default sort order in treemacs to be alphabetically
ascending, and indeed until recently it appeared to be so. But the
setting in spacemacs is `alphabetic-desc`, and has been ever since the
layer was introduced. How did this work?
The answer is https://github.com/Alexander-Miller/treemacs/pull/577.
Until recently the alphabetical ascending/descending orders were swapped
accidentally. So we need to now (more logically) set the sort order to
`alphabetic-asc`.
Spacemacs configures `org-present` to inline images while presenting. That much
makes sense. But it has a hook to turn them off unconditionally when exiting
presentation mode. This causes a problem if you just want images to show in and
out of presentation mode.
STEPS TO REPRODUCE
1. Create an Org file
2. Add a link to a file
3. Set `#+STARTUP: inlineimages`
4. `M-x org-present`
5. Exit presentation mode
EXPECTED
Because of `#+STARTUP: inlineimages` images are still inlined.
ACTUAL
The inline images have been removed upon exiting the presentation mode.
FIX
Check `org-startup-with-inline-images` on exiting presentation mode and only
remove the inline images if it is false.
TESTING
To ensure that this did not introduce a regression of the converse behavior, I
also tested with `#+STARTUP: noinlineimages`, and it still turned off the images
when exiting the presentation.
The function: helm-org-get-candidates was removed upstream.
Improvements:
Recenter the target candidate.
Reversed the helm headings list, to match the order of the
questions in FAQ.org, so that the Common questions are
listed first.
Removed the : (colon) after the heading: How do I
in FAQ.org, to match the other parent headings.
Add Spacemacs keybindings to the Clojure layer for all the sesman functions.
Sesman has been a part of CIDER for many versions now and provides session
management for nREPL connections (in fact any connections).
Several keybindings relating to the use of a specific repl been migrated the
`e` evaluation menu and `es` sent-to-repl-buffer sub-menu, providing a cleaner
separation between repl connection and session management and interacting with a
specific repl.
Updated layer documentation and keybindings in README.org file.
Added changes to CHANGELOG.develop
Resolves#12593
Make rainbow-identifiers not colorize special operators and macros, so they
always visually stand out. Rationale behind this change is that special
operators and macros in Lisp may be considered "syntax" elements, so it makes
sense to have them visually distinguished at all times.
Add key bindings to the `SPC p l` persp switch project prompt:
- helm `C-d`
- ivy `d` in the `M-o` actions list
They create a new perspective with the project name
and open a dired buffer at the project root.
The suggestion to also add it to ivy was provided by nixmaniack.
On some Nix setups, company completion via the Nix repl process can be extremely
slow and hang emacs. This commit adds an option toggle to disable it in the
`nixos` layer. The default behavior is unchanged.
Also updates the comment and license headers to be consistent with other layers.
org has changed its file naming for the notmuch add-on from
org-notmuch to ol-notmuch.
org-mode commit 499c0a50cc4b11e37b91374af23cb27ab8fc20d2.
Fix the require to reflect this change.
Signed-off-by: Loys Ollivier <loys.ollivier@gmail.com>
- Fixed setting dap-java shortcuts - ATM the shortcuts were not enabled due to
the fact that dap-mode configuration was overriding them since it was running
after this piece of code
- removed configuration code about lsp-java since it was either about
missing properties or about setting defaults already set by lsp-mode/lsp-java
(e. g. lsp-eldoc-render-all is now nil by default)
If a user uses ripgrep persistent configuration file that sets options
helm overrides the argument parser for ripgrep might incorrectly parse
the command line used by helm.
The problem is encountered whenever an argument option occurs multiple
times and the last one is of this form: '--arg value' or '-a v'. If that
last argument is followed by the positional argument (input) then its
value will be treated as the input resulting in error due to too many
positional arguments.
In other worlds, this would fail to be parsed correctly:
rg --max-columns=10 --max-columns 20 input
rg --max-columns 10 --max-columns 20 input
While this works as expected:
rg --max-columns=10 --max-columns=20 input
rg --max-columns 10 --max-columns=20 input
The solution would be to use arguments in the form of '--arg=value'
which will never be treated as a positional argument.
Fixes#10953
See #10825.
Try to match more closely the build process followed upstream:
- Force module build mode, which builds the latest stable release (not master),
and takes care of module replacements.
- Disable cgo.
- The -trimpath argument to go get requires go >= 1.13, which is also needed
because go <= 1.12 has a bug that causes problems with golangci-lint², as
explained in the golangci-lint installation instructions².
Note that the only thing that is missing to exactly match the upstream build
process is the addition of some -X variables, which only affect the data
reported by golangci-lint version.
¹: https://github.com/golang/go/issues/29612
²: https://github.com/golangci/golangci-lint#install
Thanks to @dbriemann and @seriousben for reporting and clarifying this issue!
Usage of the `:if` keyword with `use-package` does not prevent Spacemacs form
installing the package, it only prevents the loading in run-time. This commit
employs the `:toggle` feature of the configuration layer system to prevent the
unneeded packages from being installed in the first place.
This further improves upon 31324f68bb
removing the `lexical-let` caused the intended closure to be invalid. the
filename being compiled was nil when the compilation-finish-function was
run.
this adds a special var to hold the temp file being compiled instead, and
tries to narrow down the compilation-finish-function to only run when the
compilation buffer includes the "rustc -o /tmp" regexp
Before the ruby layer was only requiring standalone lsp layer,
however with the latest changes dap support has been added
therefore I have updated the layer file to require the full
dap layer instead which in turn requires the lsp layer.
I have:
- Revised the documentation to be more clear about the possible backends
- Simplified the lsp setup code
- Removed redundant loading of company-lsp (is done by lsp-mode already)
- Made lsp the default backend for dart and mentioned that the analyser is
deprecated