problem
In the `spacemacs-base` distribution.
When the `git-enable-magit-todos-plugin`
layer variable is enabled.
Then the following message appears on startup:
>An error occurred while pre-configuring magit-todos in layer git (error: (void-variable spacemacs-evil-collection-allowed-list))
cause
The `spacemacs-evil-collection-allowed-list` variable
is assigned in the `git` layer.
But it's defined in the `spacemacs-evil` layer.
The `spacemacs-evil` layer isn't used by default
in the `spacemacs-base` distribution.
solution
Check that the `spacemacs-evil` layer is used
before adding to the variable.
The configuration for various scheme implementations has been split out of the
geiser package, breaking the current layer support for the implementations.
This commit adds a simple fix for the scheme implementations support.
Anybody is free to improve the code, but at least the layer will be fixed.
make bindings stick to minor modes of helm/counsel-gtags-mode not major mode. so
the bindings will only be in force when ggtags-mode is enabled.
deprecate functions spacemacs/counsel-gtags-define-keys-for-mode and
spacemacs/helm-gtags-define-keys-for-mode that add ggtags bindings to major
mode. Next step is to remove these function calls from client layers.
currently toggle `:if` for meghanada with `use-package` only tells `use-package`
not to load `meghanada` but spacemacs still downloads `meghanada`.
also we shouldn't care about emacs 25 anymore.
- Replaced `dos.el` with `bat-mode`
- `dos.el` is superseded by `bat-mode`
- `dos.el` is localised package
- `bat-mode` is a built-in mode
- Added `bmx-mode`
- `bmx-mode` provided syntax highlighting, code-navigation and refactoring
capabilities on top of `bat-mode`
- Introduced a new command cargo-process-outdated
- Certain commands are known to change Cargo.toml and needs to reload workspace,
wrapper functions that automatically reload workspace are added.
- spacemacs/cargo-process-add
- spacemacs/cargo-process-rm
- spacemacs/cargo-process-outdated
- Added a layer variable for rust layer, cargo-process-reload-on-modify,
which toggle the aforementioned behaviour.
- Added a new utility function in LSP layer, which returns server ID associated
with current project.
- spacemacs//lsp-client-server-id
- Rearranged keybindings for rust layers (see table below for details)
Commands wrapped with auto-reload functionality:
|Command |Binding |
|-------------------------|-------------|
|`cargo-process-repeat` |`SPC m c .` |
|`cargo-process-add` |`SPC m c a` |
|`cargo-process-rm` |`SPC m c r` |
|`cargo-process-upgrade` |`SPC m c U` |
Commands with new bindings:
|Command |Old Binding |New Binding |
|-----------------------------------|------------|------------|
|`cargo-process-search` |`SPC m c s` |`SPC m c /` |
|`cargo-process-fmt` |`SPC m c f` |`SPC m c =` |
|`cargo-process-current-file-tests` |`SPC m c o` |`SPC m t b` |
|`cargo-process-current-test` |`SPC m c t` |`SPC m t t` |
|`cargo-process-test` |`SPC m t` |`SPC m t a` |
* Point org-journal to dalanicolai's fork (temporarily)
The Spacemacs for using org-journal are written, assuming that some PR's by
dalanicolai get merged. As the merge takes more time than expected, we
temporarily point Spacemacs to use his fork.
Additionally, a subsequent commit that adds agenda usage recommendations also
assumes these org-journal PR's got merged.
* Add to docs agenda usage recommendations
The Emacs documentation is not very clear about the best way to use org-agenda,
especially regarding integration of the diary into org. This commit adds most
sensible configuration recommendations.
- fix/improve docs for org-wild-notifier
- document how to use agenda (recommendations)
- Added `magit-todos` package, toggled by `git-enable-magit-todos-plugin`.
- Improved installation and loading of all magit-plugins:
- All magit plugins are toggled by their corresponding layer variables
PRE-INSTALLATION, instead of PRE-LOADING. That is, they are installed
only when the toggle is non nil.
- The `use-package` call is more specific now.
- Hooks goes to `:hook`.
- Removed `:defer` since it's implied by `:hook`, and it's actually not
doing anything.
- Improved the documentation.
* [Python layer] Document Nix + Microsoft LSP
* Document how to make Nix + Microsoft LSP work
* Add links to Microsoft LSP and Pyright repos
* Remove nix part
Added a new keyword to `use-package`, `:spacediminish` which calls
`spacemacs|diminish`.
Supported patterns:
- nil
- SYMBOL
- STRING
- (SYMBOL STRING)
- (STRING STRING)
- (SYMBOL STRING STRING)
- List of patterns above
When `SYMBOL` is missing, it's inferred from the package name, e.g
`(use-package foo :spacediminish nil)` becomes
`(use-package foo :spacediminish foo-mode)`.
This PR aims to replace explict calls to `spacemacs|diminish` and brings more
declarative flavour to layer configuration.
For example, the following form
```elisp
(use-package highlight-indentation
:config
(progn
(spacemacs|diminish highlight-indentation-mode " ⓗi" " hi")
(spacemacs|diminish
highlight-indentation-current-column-mode " ⓗc" " hc")))
```
can be replaced by
```elisp
(use-package highlight-indentation
:spacediminish ((" ⓗi" " hi")
(highlight-indentation-current-column-mode " ⓗc" " hc")))
```