Ivy-hydra is autoloaded so the require statement here is unnecessary. Because this require (commented out) statement was here before I uncommented it in the last PR (#13377), I leave it here (commented out) as it was before that PR.
Theme transient state key-binding `t` is broken if `ivy` completion framework is
used. The binding unconditionally invokes `helm-themes`.
This change adds a new function which takes care of invoking correct
theme-loader function based on completion framework currently in use.
The old binding used `helm-themes` but the new function uses already defined
`spacemacs/helm-themes` which removes the number of candidates limit.
notmuch help uses emacs view mode which has never been evilified.
With this I am trying to make it closable with q again.
Known issue: q seems only to work the second time it is used, Q can be used
instead.
notmuch-hello was using an evilified buffer which broke the embedded search
widget in the buffer. I have changed the evilification to using normal mode
with manual bindings instead.
In addition I have made the notmuch message buffer closable using "q"
and added the missing notmuch-hello keybindings to the docs.
There have been complains about issues with `clean-aindent-mode` from
multiple users. For some of these deactivating the mode in their user-init
did not work as intended. Therefore I have added a setting for it in the
dotfile.
Ensime seems to be finally dead, as ensime-mode is not longer
available on melpa. The same applies to ob-scala the package
which delivered scala support for org babel.
I have changed the layers default to metals and took care that
ensime is not tried to be installed until it is really selected
as a package.
In addition I have also fixed some smaller issues in the layer
which caused ensime specific settings to be forced even when
metals was selected as a backend.
I have also removed the not longer existing org-babel support
for scala as it requires ob-scala which in turn is based on ensime.
See https://github.com/hvesalai/emacs-scala-mode/issues/155 for details.
Modus themes are highly accessible themes for GNU Emacs, conforming with the
highest accessibility standard for colour contrast between background and
foreground values (WCAG AAA standard).
Screenshots: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
I have also updated the installation instructions as tsserver is not
longer available as single executable on npm. Also I've made sure that
modes register for tide backend only if it is really intended to.
Before this, `evil-ex-search-direction` would be left set to 'backward after:
- entering symbol highlight transient state mode (SPC s h)
- exiting the transient state
That means that pressing 'n' would go to the previous result instead of the next one.
This layer adds tidal-mode, to use TidalCycles (https://tidalcycles.org)
from Spacemacs. It also remaps some keybindings in places that are more
idiomatic to Spacemacs.
The previous PR failed to handle everywhere `mu4e-modes` list is being used so
this will bring it back, but still use the added lists for `purpose` setup.
The gnus variables were set in the `gnus/init-gnus`
functions `:config` section, that made them override
any user configurations.
Moving the variable declarations to the `:init`
section made them user configurable.
Instructoins on the following external dependencies required by certain
functions are added/updated to the README file:
- `cargo-edit`
- `cargo-audit`
- `rustfmt`
- `clippy`
Signed-off-by: Lucius Hu <lebensterben@users.noreply.github.com>
Clojure (CIDER) is missing the incredibly useful function that jumps to the end
of the line and evaluates the last s-expression.
This function is in Emacs Lisp major mode under `SPC m e $` and `SPC m e l`
The function `spacemacs/cider-eval-sexp-end-of-line` is a copy of
`lisp-state-eval-end-of-line` with the last line replaced to call the equivalent
cider function, `cider-eval-last-sexp`.
The same keybindings are added to the Clojure layer as used for elisp.
The keybindings follow the Spacemacs convention for evaluation, as defined in
https://github.com/syl20bnr/spacemacs/blob/master/doc/CONVENTIONS.org#evaluationResolves#4124
When purpose mode is enabled, Spacemacs fails to assign correct mu4e buffers to
correct windows when we're in headers view and select an e-mail from the list.
Since `*mu4e-headers*` and `*mu4e-view*` buffers have the same purpose
name (`mail`), and `*mu4e-loading*` buffer is either `fundamental` (or with a
recent version of upstream mu4e `mu4e-loading-mode`) which has the purpose
`general`.
So what happens is, when we select an e-mail from the list, e-mail opens up at
the headers' window, and loading opens up in the lower window which should have
displayed the actual email content.
With this commit, there will be two purpose names which will prevent this issue
from happening.
This is a squashed commit it contains:
- Added new sections on `cargo-edit`, `cargo-audit`, and `Clippy`,
which are used for several key-bindings in this layer.
- Re-ordered the `Key bindings` section, added entries for new bidings,
and improved description.
- ~SPC m c a~ for =cargo add=
- ~SPC m c r~ for =cargo rm=
- ~SPC m c U~ for =cargo upgrade=
- ~SPC m c A~ for =cargo audit=
- ~SPC m c X~ is for =cargo run --bin= now, instead of =cargo run --example=,
which is bound to ~SPC m c E~
I have noticed that most commands from the sphinx layer stopped working while
I was working on the restructured text layer.
This commit tries to jurry rig this package back into a working state.
It does not solve all issues we have in this package to do so a major
rewrite would be in order.
I have fixed:
- An endless loop caused by a failing search for a conf.py
- Fixed all compile commands
- Add a more detailed description of the meaning of the necessary config
variables in the doc.
This layer supported the very old linum and the non working
auto-complete-rst package. The later is not longer maintained
and does not work with up-to-date releases of sphinx causing
To fix the issue I have disabled `linum` and `auto-complete-rst`.
There is a popular question about openning file in exact window.
There is an ace mode for that, but it is not so clear how to use
it for new users.
That commmit add information how to use ace mode and how tweak it
based on information from https://github.com/Alexander-Miller/treemacs/issues/266
Add installation instruction for `sqlfmt` executable
Adapt documentation to be more like the other layers
Replace wrong default sqlfmt parameter -u with --use-spaces
Make error buffers be reused by default to reduce memory consumption
Change prefix for repl keybindings to be conform with the other layers
Remove obsolete progn statement
Enhances `sqlfmt` support in SQL layer.
`sqlfmt` was only being applied against the whole buffer, and did not allow
invocation against a specific region in the buffer. `sqlfmt` customize options
were not included under the `sql` group. It was not possible to control if
`sqlfmt` reused an existing error buffer or generated new ones.
- Added `sqlfmt-region` interactive command and binding under `sql-mode` keymap
- `sqlfmt-buffer` calls into `sqlfmt-region` with `(point-min)` and
`(point-max`)
- Added `sqlfmt` customize group as child to `sql` customize group
- Added `sqlfmt-reuse-error-buffer` option
- Updated `sql` layer documentation to reflect changes
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.