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.
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.
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
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~
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`.
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
`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).
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.
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.
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.