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.
This bug exists already since I started using Spacemacs about 1.5 year ago.
Because it was already reported upstreaim in
[this issue](https://github.com/atykhonov/google-translate/issues/52), I
implemented this fix only locally.
However it becomes time now to implement this fix globally, to fix the
google-translate functionality by default.
Toggles are great and all, but the trouble with the various toggles for line
numbers is that they force you to remember and think about the fact that there
are variant forms of line numbers. To beginners or forgetful people the various
combinations of behavior can be unintuitive here (e.g. toggling off relative
line numbers does nothing if you are actual in visual line numbers mode). Though
it doesn't fit exactly into the normal stuff we have for toggles, due to the
complexity of this situation I think it is good to just have a way to say "line
numbers be gone!"
Wasn't sure what keybinding to use, so used a double-tap mnemonic.
If this PR gets rejected, there are a couple minor fixes that should probably be
pulled out and submitted separately.
When providing only the new directory path (i.e. without new filename) while
moving a file to a new directory with `spacemacs/rename-current-buffer-file`,
currently Spacemacs opens the file in a new buffer with the directory name.
Additionally, the `file-renamed-p` gets set the wrong value. To fix both
issues (with minimal work), it is easiest to just fix the `new-name`
value (alternatively fixing the `rename-buffer` and `set-visited-file-name`
forms later would not fix the wrong `file-renamed-p` value issue).
Finally when called with a universal-argument, then that argument
unintentionally gets 'passed' in the interactive call to
projectile-invalidate-cache. So this PR fixes that by changing the interactive
call to a funcall.
Built on consult embark orderless selectrum/vertico.
It's been working ok. Basic features are in, let's merge it and let our community
improve it togegher :)
problem
With the cursor on a parenthesis in js code in a .html document,
pressing:
```
% ;; evilmi-jump-items
```
jumps to the buffers last line.
solution from upstream issue
Jump to end when current line has a "if" keyword in web-mode and html-mode
https://github.com/redguardtoo/evil-matchit/issues/119
problem
The Symbol Highlight Transient State (`SPC s h`) counter
ex: [2/7]
Shows: [0/0]
when opening the TS, either with `SPC s h`, `SPC s H`
or when navigating between symbols with: `#` or `*`
cause
The symbols haven't been counted yet, when the TS is opened.
And the counter is reset when `auto-highlight-symbol-mode` is disabled,
this happens when the TS is restarted, which happens when navigating to the
next/previous symbol with `#` and `*`.
solution
Highlight the symbol before opening the TS.
And only disable `auto-highlight-symbol-mode` when the TS is closed.
(when the TS buffer " *LV*" doesn't exist)
notes
This also shows the "No previously searched for symbol found" message,
when the variable `spacemacs-last-ahs-highlight-p` is void on startup.
problem
navigating to the next/prev symbol,
in the symbol highlight transient state: `SPC s h`
with: `n`, `N` or `p`
soft freezes Emacs (the freeze can be canceled with `C-g` twice)
cause
the upstream variable: `ahs-current-overlay` has been removed
solution
it was replaced with a function called: `ahs-current-overlay-window`
* fix `Symbol’s function definition is void: ahs-highlight-p`
* get rid of 2 instances of `eval`
* improve advicing code with the use of `advice-add`
* eliminate 2 redundant calls to `ahs-highlight-now` in adviced functions
* eliminate redundant `spacemacs/ahs-highlight-now-wrapper`
Fixed an issue where ahs-mode was being enabled before the check for it
already being enabled.
Switched the toggle to be based on the mode instead of the timer hack.
problems:
- Symbol highlighting is enabled on startup.
- The highlight isn't cleared when closing the
Symbol Highlight Transient State
- The `SPC t h a` symbol highlight toggle,
only shows a disabled message,
but the highlighting remains enabled.
cause:
Changes in the upstream package: auto-highlight-symbol
This reverts commit ec57b21a92.
A which-key change caused issues with this fix.
And the fix doesn't seem to be needed anymore.
The correct which-key entries appear without the fix.
This commit adds 3 sets of keybindings and organises the keybindings so that it
can be read easier. The README file is also organised and cleaned up to be read
easier.
1. Marking and labelling
Add a new keybinding to mark torrents and another to set the labels at point
or for marked torrents.
2. Queueing
Keybindings to manage how the queueing of torrents are added using the
uppercase vim movement keys. A keybinding to logically sort by columns is
also added.
3. Turtle mode
A new keybinding while in `transmission-mode` toggles the
`transmission-turtle-mode` minor mode. When it is active, a new set of 3
keybindings will be active to change the settings of the minor mode.
Although there is a keybinding for `transmission-remove` in `transmission-mode`,
a new keybinding for `transmission-delete` is also added. This is done since
`transmission-remove` merely removes the torrent from Transmission but does not
delete the file(s).
The rest of the changes are reflected in `CHANGELOG.develop`.
funcs.el is loaded after packages.el so `spacemacs//support-evilified-buffer-p` is undefined at this point.
moved it inside the `defun` block and it should work.
As described in #9169, when using the emacs editing style the comment inserted at the bottom of a git rebase shows the incorrect key bindings. This is apparently due to `evil-collection` (changing the `git-rebase-mode-hook`)[3ed92cadda/modes/magit/evil-collection-magit.el (L523-L524)].
We can fix the issue by only loading `evil-collection` if we're using an evil-style editing mode.
Closes#9169
The code changed here wants to distinguish the cases of whether `arg` is a list
with one set of args to `spacemacs|diminish` or a list of a list of such args.
It used to look at the second element of `args` to make that distinction.
Consequently, if you want to specify a list of a list of args for
`:spacediminish`, you'd have to have at least two such lists of args in the list.
However in
38f582d785
a usage with a list of just one list of args was introduced.
This fixes changes the detection so that it looks at the first element of `arg`.
If that's a list, `arg` is assumed to be a list of lists of args to
`spacemacs|diminish`. If it's not, it's assumed to be just a list of args to
`spacemacs|diminish`. That works well because the first argument to
`spacemacs|diminish` is a symbol.
Fixes#14726
for it has a lot of side effects by globally replacing
-+- in the entire markdown buffer. Up to now markdown
has its own table insert function available via
`SPC i T` which is to be prefered.
In addition there seems to be no active
binding for `orgtbl-mode` in markdown making it very
unlikely that someone is still using it within markdown-mode.
Shelving and unshelving changelists are operations commonly used when
choosing Perforce as a VCS solution. Package consumed by the "perforce"
layer already provides "p4-shelve" and "p4-unshelve" commands that can
be exposed by the layer. Provide keybindings for these two commands as
well.
In the scheme REPL, RET is bound to `geiser-repl--maybe-send` which most times
sends the input instead of inserting a newline. Therefore this separate
keybinding for that will always insert the newline is required.
Also the geiser-doc-mode is a read-only mode which should get evilified to
unshadow the convenient evil-like default Emacs keybindings.
Remove `C-o` keybinding from helm-bookmarks.
Add `S-RET` keybinding to open file/buffer/bookmark in other window for
helm-files helm-buffers and helm-bookmarks.
Advantage: Consistent behavior. It is pretty cumbersome to use the persistent
action provided by helm to open files/buffers/bookmarks in the other window.
`xref-find-definitions` is an interactive function that requires one argument `identifier`. You either need to `call-interactively`, or better yet, call it by forwarding the `sym-name` as the `identifier`.
Emacs mode is clearly better than vim mode, because j and k keys are already
bound to down/up motion. In addition as the tree mode is traversed, the
matching code pops up on the left in emacs mode but not in vim mode.
`lsp-use-upstream-bindings` set to `t` then Spacemacs will bind all
`lsp-command-map` behind `SPC m`, `,` and `M-m`. This way the bidings will be
managed by upstream `lsp-mode` which is documented at
https://emacs-lsp.github.io/lsp-mode/page/keybindings/.
Spacemacs only replaces the prefix `s-l` with `SPC m`. For example:
| lsp binding | Spacemacs binding |
|-------------+-------------------------------------|
| `s-l w s` | `SPC m w s` or `, w s` or `M-m w s` |