This reverts commit 91af298090.
it breaks (kill-whole-line) `kill-whole-line` (C-S <backspace>)
the SO link mentioned in it got 0 point.
and hack like this can be put it to user's own config.
When `dotspacemacs-enable-paste-transient-state` is on, there exists a minor
annoyance that deleted whitespaces appear in the kill ring. This requires an
extra C-j/C-k to bypass the noise.
This commit uses a advice function to `kill-new` to prevent text with only
whitespaces from entering kill ring.
Credit: https://stackoverflow.com/questions/12102554/emacs-skip-whitespace-kills
Co-authored-by: Lucius Hu <1222865+lebensterben@users.noreply.github.com>
Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
- Added a new layer variable `nav-flash-exclude-modes` which tells
`nav-flash/blink-cursor-maybe` not to trigger when the major mode matches one of
its elements.
- Expanded the documentation.
- Tidying up.
This commit contains adjustment to layer documentatin.
Specifically it added more information on key bindings in
`flycheck-error-list-mode` and adjusted the order of a few sections.
- Removed redundant keybinding for `RET`, which is already defined in
`flycheck`.
- Added two keybindings to move the focus to next/previous line without also
viewing the corresponding error in the other window.
Due to an error of argument order, `syntax-checking--buffer-config` was not
declared correctly and the setting is not respected by `popwin`.
This commit fixed that.
Before this commit, users are not informed of the option to use margins, in
addition to fringes, to display flycheck indicators. This commit provides
clearer information on customizing this. Specifically:
- Added instruction on how to change the location of flycheck indicator.
- Added a new layer variable `syntax-checking-indication-symbol` which allows
customization for symbol used for flycheck indication.
- Deprecated the layer variable `syntax-checking-use-original-bitmaps` in favour
of `syntax-checking-indication-symbol`, because the latter allows a finer
control of both fringe bitmap and margin string.
When toggling off flycheck's error list window, it calls `quit-window` which
might also change the focus to another window.
Wrapping this form `save-selected-window` ensures the focus always returns to
where toggling command is first invoked.
`term-cursor` was added to provide configurable cursor shape and colour when
Emacs is running in a terminal. Originally, it would not be enabled when the
user is using `evil` editing style, as `evil-terminal-cursor-changer` seems to
be a better alternative.
As explained in commit #d48bc8d9 `evil-terminal-cursor-changer` has buggy
behaviours and was removed. This commit therefore enables `term-cursor` for all
editing styles in terminal Emacs.
This package was added years ago but promptly removed due too buggy behaviours
with certain terminal and OS combination.
This commit entirely removed this package since there has been no update from
the upstream for years.
mu version 1.8.2 renamed mu-meta to mu-config. As the variable mu4e-mu-version
is defined in said file the easiest fix seems to be to simply attempt to load
the new one, and only if that fails to load the old version.
Maybe this can be reworked or better yet removed in the future.
magit v3.2.0 now defines `magit-git-executable` as a
function (actually a defsubst), and two separate variables,
`magit-git-executable` and `magit-remote-git-executable`. On darwin,
magit already sets `magit-git-executable` to the result of
`(executable-find "git")`, so having this is now redundant in
Spacemacs.
This is an extension of #15462. I noticed that the fix did not apply
to magit-diff buffers, which still had the issue of `s' not being
available to stage diff hunks. `magit-diff-mode' is the parent mode
of all magit modes, in which evil-surround is not useful, so disabling
there makes the most sense.
1. Delete vim-empty-lines layer and merge its code into spacemacs-evil
2. Remove unused function from spacemacs-evil/funcs.el
3. Add variable dotspacemacs-evil-show-empty-line-indicators to toggle vim-empty-lines-mode
4. Update related documents
5. Compatibilities
This variable caused Spacemacs to set all helm sources
to use fuzzy matching independently of whether this
was supported by the source.
This handling was very dangerous as using fuzzy for an
incompatible source can have all kind of side effects
causing unique bugs which will never be fixed by the
source package authors.
Therefore I have changed the implementation to
activate fuzzy matching via helm variables instead,
which should make sure we only activate this for
compatible sources.
If sources are found which do not longer do
fuzzy matching, the individual source should be
improved to support this feature and declare it's
compatibility towards helm.
We cannot fix helm in Spacemacs, instead the respective
package must be patched. Everything else is a maintenance
nightmare!
Fixes#15124
This work around is taken from dalanicolai's comment on #15505.
It tries to circumvent a name clash between the emacs package
"restart-emacs" and emacs 29 which introduced a function called
"restart-emacs".
The workaround is to load the package after the emacs file
module has been loaded.
Change variable declarations to standard config variables.
Change default size to relative values to be less independent
on specific screen sizes.
Improve general documentation of config choices.
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
Previously, `SPC t n n` (spacemacs/toggle-line-numbers) did not respect
dotspacemacs-line-numbers despite it telling otherwise, when it's binded to a
property list.
with this curent (package :location local) can be replaced with (package
:location (recipe :fetcher local)) then quelpa will install local pacakge. We
have the benefit of bytecompile and autoload
[packages] use new fetcher for local
- update vertico-repeat
- annotation for projectile
- tweak xref
- new buffer source of modified ones
- vertico settings
- use consult-org-heading
- tweak orderless
- tweak consult-line to start from top to bottom
- tweak marginalia
- tweak orderless for company and lsp
- fix persp mixing up buffer-list order
* [spacemacs-defaults] make split double windows consistent
* [layout] new macro spacemacs||with-persp-buffer-list
to use instead of `with-persp-buffer-list`. The new repsects the order of
original buffer-list
* [default] improve split-triple|grid windows functions
buffer-list will return the list int the the most recent accessed order. Of
which the first one is always the current buffer. So we don't need to do extra
work in removing it.
* Fix function quote warning
Change `'` to `#'`, resolves#15443.
* Fix quoting in `helm-spacemacs-help.el`, add docstrings, fix action
These changes hopefully fix#15443
- Add docstrings to the lambdas
- Change selected action for `<S-return>` to the sixth action, to install the
layer. This change makes the action conform to the removed comment.
> `;; Add layer`
* squash! Fix function quote warning, fix helm action
- Resolve#15443
- Add docstrings to lambdas
- Fix index of helm action for layer install (the actions are zero-indexed)
Org roam protocol can be used from outside Emacs and as such, loading it only
after some org-roam buffers are opened defeats the purpose. Without this change
the org-protocol links won't work after emacs restart until at least one
org-roam buffer is loaded.
Fixes#14487
Add support for the very useful evil-tex package to the latex layer.
Of particular note, this package provides numerous text objects for latex, e.g.,
latex-style quotes and double quotes, and also provides valuable toggles for
managing delimeters.
I've mapped its "magnificent toggles" (which are otherwise under a `mt` prefix)
to `SPC m q` (q for "quite magnificent") to avoid interfering with any standard
evil features.
I added brief documentation for evil-tex to the latex layer's README, which
primarily refers the reader to evil-tex's thorough documentation rather
than duplicating it in the readme.
* Only bind TAB when evil setting allows it
In a terminal TAB and C-i generate the same key press. So to "avoid TAB being
overlapped in terminal mode", function spacemacs/init sets evil-want-C-i-jump to
nil. Unfortunately commit bbd40f1 always binds C-i to evil-jump-forward
regardless of the value of evil-want-C-i-jump. This commit fixes that.
* Always bind C-i in GUI mode
This commit always binds C-i to evil-jump-forward in GUI mode, regardless of the
value of evil-want-C-i-jump. In GUI mode C-i and TAB enerate different key
presses so this doesn't affect the behavior of TAB.
First, change read syntax for anonymous functions currently written '(lambda to
instead just be (lambda; otherwise this raises a warning.
Next, while we're at it, change all instances of #'(lambda to just (lambda,
since the two are equivalent and the latter is more concise (excepting anything
in core/libs or in /local/ subdirs of layers)
https://www.gnu.org/software/emacs/manual/html_node/elisp/Anonymous-Functions.html#index-_0023_0027-syntax
This fixes the following error when pressing `SPC g r n` if
smerge-mode is not loaded yet:
Symbol's function definition is void: smerge-vc-next-conflict
Removed the `:commands` argument to use-package, which is
erroneous (:commands sets up autoloads so that invoking the command
will load the package specified, but only if the command is not
already fboundp).
Instead, explicitly load smerge-mode when entering the transient
state, so that any of the key bindings in the transient state will be
available. This has the same intended effect as the previous code.
- Replace outdated eaf API call with most recent ones
- Tested with eaf-browser on my machine
- Both (kbd "SPC") and (kbd ",") works fine in eaf-browser
Add documentatation to the Spacemacs Git layer describing how to configure basic git identity and more importantly how to configure Magit Forge to access GitHub / GitLab using a machine configuration and an encrypted file to hold the personal access token.
The previous commit had two issues:
- It doesn't have effect for `help-mode` because its was loaded too late. (In
the `:config` section of `help-fn+`.
- It only has effect for the code sections in `helpful-mode` buffer. And has no
effect in the buffer opened via button widget in either `help-mode` or
`helpful-mode`.
This commit fixes both problems.