Add kaocha-runner.el to the Clojure layer to enable running the kaocha test
runner from Emacs Cider
Kaocha runner added to the layer via the clojure-enable-kaocha-runner variable
Add key bindings to call Kaocha runner
C-o and C-i are standard vim keybindings to jump back/forward between previous
locations. It is annoying and unnecessary that evilified buffers break that
flow, therefore these keybindings should be added to the
`evil-evilified-state-map` so that they are available automatically in all
evilified keymaps/modes. I assume that by just adding them to the map, all
required remappings will automatically be taken car of by the
`evilified-state-evilify-map` macro (anyway, it seems to work fine).
lsp-use-upstream-bindings is t so by default spacemacs will use lsp-mode binding
scheme. We should consider to phase our the current manual binding scheme for
lsp-mode in future
The config for git-gutter currently sets custom fringe bitmaps which
are optimized for half-width fringes.
I think that's an arbitrary choice. There's no spacemacs option which
enables half-width fringes and as far as I can tell, we don't optimize
for half-width fringes anywhere else. So we should optimize the
package defaults for the spacemacs default of full-size fringes.
If users set half-width fringes manually, they can customize the
bitmaps manually. Even if they don't, the bitmaps are still visible,
they just don't look as nice.
* [languagetool] fix for non standard language code
In the language tool layer, the `languagetool-get-language` function is used to
deduce the correct language code for languagetool from the variable
`ispell-local-dictionary`, `ispell-dictionary`, or from the list
`ispell-dicts-name2locale-equivs-alist` by replacing dash by underscore. However
many lanagetool codes are not formatted consistently with what can be found in
ispell, check `languagetool --list <file>` for the exact list.
Therefore I created this list of convertion between ispell codes and lanagetool
codes.
* [languagetool] Reorder language code by usage
* [languagetool] translate non-obvious language code
special-case handle the translation when a simple conversion from underscore to
dash does not work
Co-authored-by: emiltoacs <mil@evo.nomail>
This reverts commit f2755533de.
This adds fix for julia layer breaking yasnippet setup.
Commit f2755533de fixed a specific bug in julia
layer but it loads yasnippet and friends on start up which adds 1 sec to my
startup time even though I don't use julia.
Julia layer loads lsp-julia early on startup, which loads lsp who then loads
yasnippet behind the scene unknown to spacemacs and use-package. That's why our
nice and ordered setup for yasnippet and yasnippet-snippets failed as discussed
in https://github.com/syl20bnr/spacemacs/pull/15171. We now tell use-package to
defer its load.
Follow mode in the pdf-occur buffer is very handy, and deserves specific
Spacemacs keybinding (mainly for discoverability/documentation, as its name
`next-error-follow-minor-mode`, putting it mildly, is not very intuitive)
The fix introduced in 23367d08f8 NOPs
evil-redirect-digit-argument. As a result, pressing 0 while in iedit movement
state does not jump to the beginning of the match or beginning of line.
This change redefines the functions currently needed by evil-iedit-state while
keeping the expected functionality
iedit does not work already for quite some time. A fix (see
https://github.com/syl20bnr/evil-iedit-state/pull/37) has been proposed, but it
does not get merged (even after multiple reminders). Therefore, I propose to add
this temporary quick fix, that can/should be removed after that PR gets merged.
Seems that we have a lot of places where
evilified-state-evilify has been used
instead of evilified-state-evilify-map.
This causes issues with shadowing of
evilified maps as this is only done by
the later of those two.
Fixes#15150
The auto-completion layer seems not to have been designed/configured correctly.
So that, e.g., when using the julia layer, the `auto-completion/init-yasnippet`
function is called after the `yasnippet-snippets` package has been loaded.
Despite the ``yasnippet-snippets` package containing an `eval-after-load
'yasnippet`, the form within that block is, for some reason, evaluated already
before `auto-completion/init-yasnippet` has been called.
Anyway, what currently happens is that first `(yasnippet-snippets-initialize)`
is evaluated, adding `yasnippet-snippets-dir` to the `yas-snippet-dirs` list.
Then ``auto-completion/init-yasnippet` is called which contains the line `(setq
yas-snippet-dirs nil)`, setting the list to nil again.
As there is quite some logic involved (e.g. the order of evaluation is correct
when the julia layer is not being used), this commit fixes the reported issue by
simply calling `(yasnippet-snippets-initialize)` from
`auto-completion/init-yasnippet` after the yas-snippet-dirs list has been
resetted to nil.
Any cleaner solution is welcome, but I would say this is a 'harmless' very
pragmatic quick fix/solution.
* [git] Fix: Evil-collection @-dispatch keybindings for magit forge.
Load new location for forge '@' dispatch keybindings.
'Evil-collection' has moved keymaps for magit forge from an
'with-eval-after-load' block to newfile 'evil-collection-forge.el' in commit
33461aa545.
As mentioned in the commit, these changes were due to a upstream change in the
'forge' package. Source: https://github.com/emacs-evil/evil-collection/issues/543
* [git] Docs: update README to reflect changes in Forge keybinds.
See https://magit.vc/manual/forge.html#Introduction for more information.
* lsp: Bind =~SPC m g T~ to lsp-treemacs-type-hierarchy
This allows to show the type hierarchy for the type at point.
* lsp: Goto call and type hierarchy are provided by lsp-treemacs
* [compleseus] layout select current project first
* [compleseus] bind embark-export to C-c C-o
same as ivy-occur
* [compleseus] add vertico-{quick, directory}
* [compleseus] set up vertico-repeat
It's nice to have a way to use common SBT commands without having to enter a
Hydra, and without having to type them out or select from a history list. The
following should be standard and quite common:
+ `scalafmtAll`
+ `compile`
+ `test`
Added mnemonic keybindings that I think match Spacemacs conventions. They
behaviors also give better parity with the build capabilities of other major
modes, which frequently support compile, format and test functionality.
Currently most or all auto-completion, using completion-at-point (i.e. the TAB
key), is 'hijacked' by company-capf in emacs-lisp-mode, while in text mode there
is no auto-completion by default at all.
This commit adds auto-completion for text-mode and slightly improves the
situation for emacs-lisp mode.
From org version 9.5 org will not be distributed from Org ELPA but from
ELPA (see https://list.orgmode.org/87lfa7tc9v.fsf@gnu.org/t/). This commit makes
Spacemacs use/install org from ELPA.
Besides that, this commit removes some 'hack' that seemed to have no effect. As
org comes with Emacs `package-installed-p 'org` will always return t. Also
activating org via `configuration-layer//activate-package` seems to have no
effect.
Finally, the package is declared including a :min-version because appending only
`:location melpa` seems to have no effect (this can probably be considered a
bug).
I am almost certain that the information that was added when making org install
from Org ELPA is still relevant also for installing org from ELPA so I have just
adapted the version number from 0.104 to 0.300.
As the "org" archive has been removed, the `ert-deftest` for it can be removed
also.
* Add commands to compleseus+fasd layer (locate,yasnippet,search-from)
* Add metadata classifier (for embark) to fasd-layer
Embark uses metadata of the target under point to determine actions. If the
target lacks a metadata classifier then the [embark
documentation](https://github.com/oantolin/embark#acting-on-targets) recommends
to [add them using the marginalia package](https://github.com/minad/marginalia#adding-custom-annotators-or-classifiers).
This PR adds the file classifier to results for fasd searches.
The documentation of the `themes-megapack` layer states that the layer provides
all themes included in the [theme gallery](https://themegallery.robdor.com/) by
Rob Merrell. However, this theme currently is missing from the layer.
Special mode and its derived mode(s) buffers were made evilified in PRs #14995
and #15050. However, special-mode is too aggressive (as 'warned' for already in
#14995); it makes it hard to overwrite its keybindings (e.g. `evil-local-set-key`,
or using `evil-evilified-state-map` on a derived map have no effect).
Therefore it makes more sense to open the buffers in motion-state instead. This
state also does not hijack the `q` keybindings as defined by special-mode (see
https://www.gnu.org/software/emacs/manual/html_node/elisp/Basic-Major-Modes.html),
although it does still hijack its `g` keybinding, but evil navigation is
considered to have higher priority than revert-buffer anyway.
Related to #15117, this removes the helm-gitignore from the git layer because it
hasn't been updated to use the new git-modes package. The helm-gitignore
functionality isn't particularly useful anyway, it's just a utility to help
generate .gitignore files.
This change can be reverted if the upstream helm-gitignore package is fixed and
people find the functionality it provides to be useful.
Currently the python layer (without anaconda backend) provides only helm-pydoc
or pylookup-lookup-at-point functionality. Both these functions are cumbersome.
`pydoc-at-point-no-jedi` adds simpler doc functionality, therefore this commit
adds this command as a third option. It places it under `SPC m h p` because `SPC
m h h` is already taken by the anaconda doc functionality (it could be placed on
`h h` if anaconda is not available, but I did not bother to implement it)
Currently company-emoji does not get activated by the emoji layer.
Also when it is activated, then the emoji short-name does not get completed to
unicode if `company-emoji-insert-unicode` is `t`.
This commit fixes both issues, by activating company-emoji for text-modes and
advising the emoji inert function to optionally do company-emoji completion.
See joostkremers/ebib#213By remapping spacemacs/kill-buffer to ebib-quit ebib is generally exited 'correctly' (if users really want to kill the buffer and mess up things, they can still do that in plenty of other ways).
Update layers/+readers/djvu/packages.el
Co-authored-by: Lucius Hu <1222865+lebensterben@users.noreply.github.com>
Update layers/+readers/djvu/config.el
to avoid having to add a lot of additional ignore
statements to our .gitignore file.
For now this shall reside in LSP layer if it becomes too big
we can do a more refined design based on the auto-complete
layer.
By enabling all layers referring to lsp and searching packages they depend
on, currently I found these variables:
`lsp-server-install-dir`
`lsp-session-file`
`lsp-eslint-library-choices-file`
`lsp-yaml-schema-store-local-db`
`lsp-vetur-global-snippets-dir`
This layer adds Reddit support to Spacemacs via the package
reddigg. This package allows you to browse reddit in org-mode. You can find more
information in the README.org.
Fix use-package reddigg
Change name to for reddit
Change name according to https://www.reddit.com/wiki/api
This commit makes the latex layer automatically configure pdf-tools as
latex pdf-viewer if the pdf layer is installed.
Additionally it adds a layer variable to configure pdf-tools to open in a
split-window. (Strangely, finding out how to achieve that is far from trivial,
and also not easy to google, because many hits do not provide the "correct"
answer (see the typical example
[here](https://emacs.stackexchange.com/questions/28056/spacemacs-latex-how-to-make-view-command-tile-vertically-with-emacs-window)).
Update layers/+lang/latex/funcs.el
Co-authored-by: Lucius Hu <1222865+lebensterben@users.noreply.github.com>
* [layout] New function spacemacs//ediff-in-comparison-buffer-p
This function is useful to determine whether a given buffer is part of an ediff comparison.
* [layout] New function spacemacs/ediff-balance-windows
Interactive function to balance ediff windows in case they're unbalanced
initially (such as when golden-ratio-mode was active.)
* [navigation] Disables golden-ratio resizing in ediff view
Updates `spacemacs-navigation/init-golden-ratio`:
- inhibits golden-ratio in ediff comparison buffers
- balances the width of ediff comparison buffers on startup
* Updates CHANGELOG.develop with ediff/golden-ratio comment
* [layout] Adds MIT license acknowledgement for new functions
Co-authored-by: Ryan Prior <ryan.prior@coldquanta.com>
As of new OPAM (OCaml package manager) v2.1, `opam config var share` is
no longer supported. Instead, the syntax is `opam var share`. To allow
both, this checks first with the new syntax, then if that doesn't work,
the old is tried. If neither produce any output, it fails as normal.
edit: Fix formatting.
Cider provides the possibility to search the REPL history, for which it opens
the history in a read-only buffer (which as usual, is best initialized in
evilified state).
This commit evilifies the cider-repl-history-mode buffer and defines some common
sense cider-repl-history-mode keybindings.
When we're adding links, without this they get smooshed together under the
curser. Tested to work; resolves https://github.com/syl20bnr/spacemacs/issues/14137
Co-authored-by: Richard Kim <emacs18@gmail.com>
This keybinding could also go under `SPC h M`, but that is currently taken by
`helm-switch-major-mode` (which seems a quite redundant command to me, as you
can switch major-modes directly using `M-x`/`SPC SPC`).
When the buffer's name is uniquified (because multiple buffers have
the same short name), it is no longer equal to the basename of the
buffer's file name, so it is incorrect to use the buffer name in the
rename operation.
problem
`SPC f J` (`spacemacs/open-junk-file`) shows:
cond: Cannot open load file: No such file or directory, helm
cause
`spacemacs/open-junk-file`
expects the completion layer to be either: `helm` or `ivy`
notes
The junk file function searches through the junk files,
when the ARG parameter is non-nil
(when it's called with a prefix argument: `SPC u SPC f J`)
The helm and ivy search functions might be choosing the search tool,
based on the first search tool it finds in the variable:
`dotspacemacs-search-tools`
`("rg" "ag" "pt" "ack" "grep")`
The consult package has these two search functions:
`consult-grep`
`consult-ripgrep`
This fix only uses those two for searching.
It checks for the executable: `rg` before `grep`
* [major-modes] add evil-matchit support for matlab
If `evil-matchit` is available, configure it for us in `matlab-mode`.
Note: This commit by itself doesn't actually do anything, because currently,
`evil-matchit` supports `octave-mode`, but not `matlab-mode`, although it's a
very simple matter of just turning on its `octave-mode` configuration for
`matlab-mode`. I'm submitting a PR against `evil-matchit` in order to support
`matlab-mode` out of the box.
Emacs 28 adds the outline-cycle-buffer feature. Currently there is no keybinding
to fold the outline of a pdf. So let's replace show-all by it for >= Emacs 28,
because it is easier to remember a single keybinding for folding and unfolding
then having separate bindings for those.
problem
opening a prompt, ex: `M-x`
while the Symbol Highlight Transient State (`SPC s h`) is open,
leaves `auto-highlight-symbol-mode` enabled
cause
when the idle timer runs,
it tries to disable ahs mode in the prompt window
In standard notmuch-emacs, one can scroll back and forth the message
pane using `SPC`/`BKSPC`. Obviously, this is not the case in Spacemacs,
where `SPC` is reserved. There was no way to scroll the message pane in
this layer, so I added `M-d` and `M-u` wired to
`notmuch-tree-scroll-message-window` and
`notmuch-tree-scroll-message-window-back`.
Currently when using any python-send-shell command, the output of the evaluation
is not shown in the comint shell (see Emacs bug#49822).
This commit adds a simple function to send input and get the output printed in
the comint process buffer.