problem:
Reloading the configuration: SPC f e R
after changing the variable: dotspacemacs-fullscreen-at-startup
to: t
changes Emacs into fullscreen mode.
solution:
Only check the variable and change to fullscreen mode on startup,
before Spacemacs has been initialized.
Fixes: Reloading config with fullscreen-at-startup t (in macOS) toggles fullscreen mode #13073
problem:
The Treemacs layer is unable to find python 3 in Windows.
cause:
The Treemacs layer looks for "python3", but the executable is called
"python.exe" in Windows.
solution:
Let Treemacs check for python 3 upstream, it has a better method for finding the
python 3 executable in Windows.
Similar to the keybindings added to the info layer in PR #14188, I here propose to add the same
keybindings to the epub layer. These J/K keybindings are currently undefined in the epub
layer. These keybindings are used in the Zathura document reader, they are very
convenient and I guess they feel very natural and are preferred over d/u by most people.
Standard LSP support auto-activates the server
if LSP layer is loaded. I have now added instructions
to explicitly disable this behaviour if someone wants
to work in LSP in one layer but only with CIDER in
clojure.
Spacemacs lacks a keybinding alternative to the most natural way of scrolling
Info pages (i.e. SPC) in vanilla emacs.
Anyway, this commit adds J/K to scroll most naturally through info pages.
Currently, in Info-mode, a keybinding for J is not defined while K is bound to
evil-lookup.
Issue #2828 already adresses the inconsistent experience, and in my opinion this
can and should be improved as navigating Info pages is a very crucial part of
using Emacs.
Personally I have bound J/K to scroll page up/down in buffers/pdf/djvu/doc-view,
which I inherited from using the zathura pdf reader, and I think this is a better
default than the default vim alternatives.
bind c-spc to ivy-call-and-recenter
this is the closest thing to helm follow mode in ivy world
unbin `g` key and map `U` for
for ivy-occur-mode-map and ivy-occur-grep-mode-map
* LaTeX: improved i18n support and documentation
- Added a new layer config variable `latex-build-engine`, a thin wrapper of
`TeX-engine`:
- For better support of non-european character set rendering, `xetex` is
chosen when it's found on PATH, and when eithe `chinese` or `japanese`
layer is enabled
- Added a new layer config variable `latex-enable-preview`:
- When non-nil, `auto-revert-mode` is added to `doc-view-mode-hook`
- Previously this is described in documentation but requires users to set it
manually
- Documentation:
- Added a section that lists are layer config variables
- Improved all documentation examples, s.t. they are valid elisp forms to be
evaluated directly
- Improved the section on backend:
- Emphsized that LSP layer is always preferred
- Provided information on installing the language server
- Added the default value for layer config variable, `latex-nofil-env`
* minor edits
- Updated CHANGELOG.develop
- Renamed `latex-enable-preview` to `latex-refresh-preview`
- Replaced a fuzzy intra-link in documentation with a proper link
Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
When ligatures are enabled globally emacs gets pined at 100% CPU. In #13967
there were some ligatures that were highlighted but enabling this only in
prog-mode so emacs dose not get pined at 100% when just enabling with
(unicode-fonts-enable-ligatures t). In #14178 it was highlighted that "\\" had
an issue in the `init.el` so this has been removed
- "//" Issues with doom mode line
- ".." "..." Issues with helm find file
- "--" Issues with magit
The eglot configuration for automatically starting a server instance when
opening a file is incorrect and thus tries to start the server twice which leads
to more problems down the line. Also the company-backend is not properly setup
so auto-completion does not work reliably when using lsp or eglot.
This fixes g (magit-refresh), in the hybrid editing style when the variable:
hybrid-style-enable-evilified-state
is: nil
Thanks marienz for reporting the issue and for suggesting to check if the
editing style supports evil navigation.
https://github.com/syl20bnr/spacemacs/issues/14181#issuecomment-739251438
The newly added bindings had side effects for
magit. This was caused by which-keys replacement
working on bindings which are identical between
various modes.
To fix this I have changed the api to use the newly
added keymap based replacements which avoid these
issues.
As a side effect they are a ton faster as which
key does not have to compare all available bindings
everytime it opens its help window.
I have also fixed some more missing which-key
description in magit status buffer.
Currently 'helm-ag-mode-jump-other-window is bound both to RET and to C-o (its
original default binding), while 'helm-ag-mode-jump isn't bound at all (its
original default binding is RET). This commit removes our customization so that
both 'helm-ag-mode-jump-other-window and 'helm-ag-mode-jump have bindings in the
mode.
The same change is also made for the analogous helm-grep functions, for the same
reason.
This layer helps quickly sorting Dired buffers in various ways, such as
time, size, etc.
I think the underlying package is useful and worth a place in spacemacs.
It has also been promoted by Pragmatic Emacs before (albeit long time
ago): http://pragmaticemacs.com/emacs/speedy-sorting-in-dired-with-dired-quick-sort/
Disclaimer: I'm the author of dired-quick-sort package
Add key binding to evaluate the current namespace form (very useful when
starting CIDER as it loads in clojure.core to enable the cider-clojure-docs
functions to work)
Add keybinding to reload all namespaces into the REPL process
Adjusted key bindings to be lower case under `en` sub-menu.
Declared key binding prefixes.
And updated the react layer documentation:
- Mentioned the additional key bindings in the javascript layer
- Added a link to the javascript layer
* [core][keybinng] improve minor mode binding
This commit added add a new function defun spacemacs/declare-prefix-for-minor-mode
and improved spacemacs/set-leader-keys-for-minor-mode.
`which-key` package recently introduced a new api
which-key-add-keymap-based-replacements which improves perfomance and allows
prefix and namings to be stored directly in keymap. This is a great improvement.
With this new api we now make change to spacemacs/declare-prefix-for-minor-mode
to manage prefix also. For example:
(spacemacs/set-leader-keys-for-minor-mode 'lsp-mode
"=" "format"
"=b" #'lsp-format-buffer)
Before we had to use another api to bind prefix
spacemacs/declare-prefix-for-mode which only works on major-mode. As lsp-mode is
a minor mode this api causes a lot of problems to which-key performance. An
example is https://github.com/syl20bnr/spacemacs/issues/12455 which led to my
hack in https://github.com/syl20bnr/spacemacs/pull/12474.
The improved spacemacs/set-leader-keys-for-minor-mode will take care of both
prefix and key naming for the minor mode. This will allows us to have a better
set up for dynamic minor modes such as lsp-mode, tide-mode etc.
Also another api is created to make prefix for minor mode:
spacemacs/declare-prefix-for-minor-mode.
Usage:
(spacemacs/declare-prefix-for-minor-mode 'tide-mode "E" "errors")"
* [tide] improve prefix
* [lsp] improve prefix
* [core] add z$ as Evil keybinding for set-selective-display
This is a feature whose equivalent I had looked for previously and not found. I
bumped into it in [this excellent
article](https://karthinks.com/software/batteries-included-with-emacs/) which is
a survey of "batteries included" parts of Emacs. He mentions Spacemacs (in a
positive light) in the article, but the article is a lot about what you can do
_without_ distributions like Spacemacs, Doom, or Prelude. As such, this seems
like an opportunity to make Spacemacs even better---i.e. by making these
relatively unknown batteries that are already present in Emacs more discoverable
in Spacemacs.
I put it in the folding menu `z` because that fits its usecase. I used `$`
because:
* the out-of-the-box Emacs keybindings is `C-x $`.
* the menu is already fairly saturated
* I didn't know what else to base the mnemonic on because
* I'm not aware of a Vim equivalent
* The name of the Emacs function itself is nondescriptive of its behavior
I couldn't find any keybinding documentation table to add it to. Please let me
know if I missed something.
* [core] DWIM in z$ as suggested by @lebensterben