refactor key bindings for applications to provide additional room for
applications and use lower case characters.
Move calc-dispatch to `SPC a *`
Relates to #13503
spacemacs/go-run-test-current-function() previously failed when point was
anywhere but at the end of the line on the first line of the test function to
run.
According to the README, `SPC a t v t` should start `vagrant-tramp-term`, but
instead, it seems to have been bound to `SPC a t v`. This means that it
overrode all of the other vagrant keybindings under the prefix `SPC a t v`.
The issue seems to have been a typo from commit e38c33f.
Relates to #13503.
User purposes are exclusively for user configs.
Layers shall set purpose extensions instead to allow
reconfiguration.
The existing layers have been refactored to use
extensions now. So this kind of hack is not longer
needed.
The purpose config was declared by using user mode purposes
which are reserved for user configuration.
I have also fixed the license header for config.el which did
not mention Sylvain Benner & Contributors.
In the old form the wrong type of extension
was added, this prevented any reconfiguration
of purpose allocations in the dotfile.
Now the right type of allocation is used
allowing users to overwrite the config easily.
How this is done is described in
the purpose layer.
spacemacs//fixup-window-configs is added as an `:around` advice for
`rename-buffer`. It should preserve `rename-buffer`'s return value,
which is the new name of the buffer.
f553b3622d indicated that Spacemacs no
longer uses `exec-path-from-shell`, and instead relies on
`spacemacs-env-vars-file` to make sure environment variables are
set correctly. This caused `gls` not to be used on macOS any more.
This commit re-enables support for automatically using `gls` in dired.
Fix#10957.
Fuel mode is responsible to connect to a Factor instance. This change extends
the Factor layer to handle a graphical listener process, to which fuel can
connect afterwards.
A major motivation is also to make it easier to develop with different Factor
versions, which can be specified with (project-/directory-specific) variables.
When starting a Factor listener in a certain location this way, the elisp code
for fuel/factor mode is reloaded from that location.
AUCTeX is weird: It reports major-mode as latex-mode (since TeX-latex-mode is
applied as an :override advice on the basic built-in latex-mode), but its mode
hook is LaTeX-mode-hook, not latex-mode-hook (which is only run by the built-in
latex-mode). Since bind-map uses the value of major-mode, we must pass
latex-mode to spacemacs|define-jump-handlers. But then
spacemacs//init-jump-handlers-latex-mode gets added to latex-mode-hook, which
never gets run. So we must manualy add it to LaTeX-mode-hook.
[latex] Use dumb-jump as primary jump handler
Otherwise, the default is used, which prioritizes evil-goto-definition over
dumb-jump-go. Dumb Jump tends to Just Work, while evil-goto-definition doesn't
handle LaTeX very well, at least not without a TAGS table.
[latex] Update CHANGELOG.develop
When mu4e layer is present org-store-link doesn't work immediately when you
start Emacs, unless you explicitly load mu4e.
It'd display "Please load mu4e before mu4e-org" message and do nothing.
Having an explicit dependency on lsp-treemacs for post-init-lsp-treemacs is no
longer necessary in the Scala layer, as lsp-metals superseeds it.
Removed lsp-metals-treeview-enable as it no longer exists.
This is a squash commit, it includes:
* Add go run and go test command variables
* Update go README for go-run-command and go-test-command
* Update CHANGELOG
As per the README, `SPC m s B' should put the REPL buffer in insert state, but
the keybinding as defined puts the racket file itself into insert state, not the
REPL. This means that on returning to the racket file buffer, the cursor is
left in insert state, which means it is easy to accidentally add unwanted text
into the file.
To fix this, a `with-current-buffer' wraps the `evil-insert-state', so that
insert state is enabled in the REPL buffer, not the file being edited.
The first time this is run, `racket-run-and-switch-to-repl' is asynchronous of
`evil-insert-state', so trying to get the Racket REPL buffer will error. To fix
this problem, we wrap the `with-current-buffer' with a check to determine that
the Racket REPL buffer is live. The first time the Racket REPL buffer is
created, the contents will not run, since the Racket REPL buffer will not yet be
live. This is fine, since we enter the REPL in insert state automagically.
This change does not need to be done to `spacemacs/racket-send-last-sexp-focus',
`spacemacs/racket-send-definition-focus', or
`spacemacs/racket-send-region-focus' since these functions follow all of their
racket-send functions with `(racket-repl)' before calling `evil-insert-state'.
flycheck-mix has been removed by the package author as being
obsolete with proper lsp and alchemist support. Therefore
the layer also has been cleared of it as it cannot longer
be found on Melpa.
Mustache is the preferred templating in modern versions of CFEngine and it's
nice to have syntax highlighting when working with templates.
Now, when the CFEngine layer is in use, files ending in .mustache will be opened
in mustache-mode.
Helm v3.3 no longer uses ido to get buffer list. So the change perp-mode makes
to ido won't affect helm anymore. Hence helm buffer list commands such as
helm-mini and helm-buffer-list will shows all buffers regardless of current
layout. Also `SPC l l` crashes with new helm.
This PR fixes them. We use the new helm variable helm-buffer-list-reorder-fn
to filter buffers. Because we compose this value users are still able to
customize this variable.
Minified hint:
Chunks: n N p P RET Commits: b r f e q
Full hint:
Chunks Commits Other
[p/P] prev /same commit [b] adding lines [c] cycle style
[n/N] next /same commit [r] removing lines [Y] copy hash
[RET] show commit [f] last commit with lines [B] magit-blame
[e] echo [Q] quit TS
[q] quit blaming
As of Scala 2.13, Unicode arrows are deprecated:
* https://github.com/scala/scala/pull/7540
* https://github.com/scala/scala-dev/issues/585
* https://github.com/scala/bug/issues/11210
Using one will give a deprecation warnings like so:
> The unicode arrow `⇒` is deprecated, use `=>` instead. If you still wish to
> display it as one character, consider using a font with programming ligatures
> such as Fira Code.
As such the Scala layer's version slick capability to replace ASCII arrows with
Unicode ones is no longer useful, and I have removed it.
Based on my tests it doesn't seem that there is a need for a more graceful way
to deprecate this: i.e. nothing fails if there is extra junk in `:variables`.
Before the decision which linter to run before golangci-lint has been
taken by the layer. However this can also directly be done by the
checkers.
Also golangci-lint did run even when the previous checker still reported
errors. With this it is only called if the previous checker is satisfied.
All thanks goes to Tommi Komulainen.
Flycheck-golangci was not properly conigured which resulted in
not replacing disabled standard linters like go-test.
In addition there seems to be an issue in the current golangci
build causing the linter to fail. In this case spacemacs now
shows at least basic errors from go-build. When they are fixed
the linter should be able to work normally again.
From the author of mu4e, org-mu4e.el is not supported anymore. Load the
supported org functionality from mu4e-org.el instead.
mu4e author -- "org-mu4e.el has been obsoleted in mu4e 1.4.x... the supported
parts are in mu4e-org.el now. And there's currently no real expectation you can
load those separately (it might work)."
I believe by separately means loading mu4e-org w/o having loaded mu4e.
A BEGIN_SRC block in the documents had no language specified
which would break CI.
I have also changed the eldoc setup to run each time the mode is
entered instead of only in the initially loaded buffer.
The previous way of adding dap to a layer did add the mode
unconditionally to `spacemacs--dap-supported-modes` causing
dap bindings to be added also when no lsp backend was used.
The variable: layouts-enable-local-variables
and function: spacemacs/make-variable-layout-local
are defined in the layer: spacemacs-layouts
But the spacemacs-layouts layer isn't loaded
in the distribution: spacemacs-base
racket-xp-mode is an optional minor mode that enhances the racket-mode to
explain and explore Racket code. The racket-xp-mode is started with a mode-hook
on racket-mode. Deprecated racket-mode functions are replaced with their
racket-xp-mode versions. The remaining racket-xp-mode functions are added to
keybindings as per Spacemacs conventions.
Also add the racket-mode directory to .gitignore.
Install ubuntu(18.04) libvterm-dev will cause compilation error,
update latest doc from emacs-libvterm, it shall download
latest libvterm automatically.
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.
In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.
I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.
Changes inspired from #13507
Following the advice from duianto #13100 we are
setting completion-styles for helm-M-x to include
the emacs version specific fuzzy strategy as last
resort.
Before no fuzzy matching occured within command
searches.
In the Wakatime layer add a line to the readme to highlight the fact that having the api key in the main layer config will submit it as part of a bug report. There is probably a better way to achieve this but at least this highlights it for now.
for verb-response-headers-mode It's a major mode not a minor one.
lazy loading verb-response-body-mode
Without this change `C-h k` will crash throwing verb-response-headers-mode
variable is void.
Opening a dired buffer from the Treemacs buffer,
right after starting Spacemacs, shows the error message:
>treemacs-icons-dired--display: Wrong type argument: char-or-string-p, nil
Loading `treemacs-icons-dired-mode` from the `dired-load-hook`,
instead of from the `dired-mode-hook`, seems to fix it.
The `dired-load-hook` docstring says:
>Run after loading Dired.
The `dired-mode-hook` docstring says:
>Run at the very end of ‘dired-mode’.
Also adjusted the tags to match the folders the layers
are in. I have also updated the binding for imenu mentioned
in protobuf layer and adapted the kubernetes tags to register
as tool instead of as os.
This layer was using two global bindings SPC a w and SPC a W.
As the available keybindings in that sub-menu are dwindling
I have moved the bindings to SPC a w w and SPC a w W instead.
- added the same bindings you normally have under `SPC m d` under `SPC d`
similar to what Debug layer does. Most of the dap-bindings are not content
sensitive(e. g. rerun last debug session) and it doesn't make sense to restrict
them only to particular major modes.
- Moved `spacemacs/browse-docs-online-at-point` from `SPC d b` to `SPC h b d` to
avoid collisions.
- reuse the botom window for all windows that are in compilation mode and in
dap-server-log-mode. Without this change you will get two windows on top of each
other when you do `SPC c c` and then `SPC m d d d`
org-journal-new-scheduled-entry and org-journal-schedule-view are
both basic org-journal features. Besides providing these shortcuts,
their documentation exposes this functionality to the user.
Add layer variable documentation for persp-autokill-buffer-on-remove
Set to kill-weak, then buffers are deleted when the layout is deleted.
https://github.com/Bad-ptr/persp-mode.el#suggested-configuration
Add usage section
- describe the core usage of layouts
Add keybindings section
- include all keybindings for the layer
Fix formatting
- = instead of ~ and vice versa
Resolve#11698
Add keybindings for the built in Emacs application called Easy PG, that provides
tools to encrypt/decrypt/sign/verify files and regions using PGP encryption.
Keybindings are defined using spacebind.
Resolve#13319
As discussed at length in #13392, the primary developer of EIN insists
on updating the spacemacs bindings to avoid several-iterations stale commands of
dubious functionality (in particular, multi-worksheet commands).
As the transient state docstring must be "mated" to the updated bindings, he prefers
not having to manually curate it, and exhorts the return of the
automated docstring. He doesn't insist on it, though, like the above.
bind-map.el counterfeits ein:notebook-mode
bind-map replaces on the `minor-mode-map-alist` the keymap for
ein:notebook-mode with the evilified map, thus making the original
ein:notebook-mode-map inaccessible.
This is might be intentional as one wonders whether having active both the
original keymap and the evilified keymap makes sense.
In EIN's case, yes, we really want the original keymap, e.g., C-c C-c
to execute, to work. Otherwise C-c C-c defaults to running a python
shell via the python-mode-map, which is really not what we want.
When the bépo layout is set from the `keyboard-layout` layer, the
message `(wrong-type-argument keymapp nil)` shows up. After some
digging, it turns out Spacemacs tries to set shortcuts for `nil`
`map` variables in this function.
This commit ensures it is impossible to try to set a shortcut for an
inexisting keymap.
This commit has been tested with Emacs 27.0.90.
It also removes an unused `if` statement
We probably want to update the `markdown` layer to be able to do this directly
with `firefox`; having to kill and restart all of your `chrome` processes before
using `flymd` is a little clunky! It's nice that we have the upstream workaround
inlined in spacemacs, though.
Org-capture abord bindings were only available after having entered
insert state at least once. Bindings are now applied immediately on
entering the minor mode.
Fixes#13084
Go layer now supports dap, therefore when lsp is selected the layer
will load dap which in turn will load lsp to enable debugging capabilities
for all lsp users.
Show results of evaluating Clojure code in the same format they would be written
in the source code. This is especially useful for results that are
collections and nested collections.
Pretty print results as a comment.
Before M-1 M-2 M-3 M-4 were bound by magit to show fixed numbers
of details. Now these bindings are available with 1 2 3 4 instead.
The M-X bindings are now used for quick switching of windows as in the
rest of spacemacs.
New bindings:
`gr` - `helpful-update`, reload helpful buffer.
`SPC m q` - `helpful-kill-buffers`, kill all helpful buffers.
Move `o` binding definition into separate post-init function, so the binding
is defined only if the `link-hint` package is actually installed.
Add documentation of the added bindings.
1. Previously, the code had references to ein:notebook-mode which doesn't seem
to work (anymore), so I changed these references to ein:notebook.
2. The previous code had a big convoluted function that produced the
doc-string and that was difficult to read that depended on some other
smaller functions, though not enough of them to make the code
sufficiently modular, and therefore, it wasn't very maintainable.
Besides, when I tried the previous version with the name of the mode fixed,
spacemacs hung for a long time -- it's a mystery whether spacemacs would
have continued normally if I had waited long enough. Therefore I replaced
the doc-string with a hard coded one.
3. I added some keybindings from tkamat's fork to the code for I didn't see
a good reason not to
4. I removed the cl- prefix from "second" and "mapcan", because cl is a
deprecated package. However, I'm afraid the names without the prefix might
end up being unrecognized by previous versions of emacs.
This is a squash commit including below commits
Add dotspacemacs--pretty-ignore-subdirs
Within the specified subdirs of `dotspacemacs-start-dir`,
spacemacs/prettify-org-buffer (and hence space-doc-mode) will not be called.
Without this variable, using spacemacs/open-junk-file to create an Org file will
result in prettification, which is not necessarily the desired behavior.
Call make-directory in spacemacs/open-junk-file
This imitates the behavior of open-junk-file.
Prevent spacemacs/open-junk-file from getting confused by Dired
If we're in a dired buffer, counsel-find-file will ignore
current-directory (i.e. junk-dir) and use (dired-current-directory) instead. We
fool Counsel by shadowing major-mode to nil.
Update CHANGELOG.develop re spacemacs/open-junk-file
Ivy-hydra is autoloaded so the require statement here is unnecessary. Because this require (commented out) statement was here before I uncommented it in the last PR (#13377), I leave it here (commented out) as it was before that PR.
Theme transient state key-binding `t` is broken if `ivy` completion framework is
used. The binding unconditionally invokes `helm-themes`.
This change adds a new function which takes care of invoking correct
theme-loader function based on completion framework currently in use.
The old binding used `helm-themes` but the new function uses already defined
`spacemacs/helm-themes` which removes the number of candidates limit.
notmuch help uses emacs view mode which has never been evilified.
With this I am trying to make it closable with q again.
Known issue: q seems only to work the second time it is used, Q can be used
instead.
notmuch-hello was using an evilified buffer which broke the embedded search
widget in the buffer. I have changed the evilification to using normal mode
with manual bindings instead.
In addition I have made the notmuch message buffer closable using "q"
and added the missing notmuch-hello keybindings to the docs.
There have been complains about issues with `clean-aindent-mode` from
multiple users. For some of these deactivating the mode in their user-init
did not work as intended. Therefore I have added a setting for it in the
dotfile.
Ensime seems to be finally dead, as ensime-mode is not longer
available on melpa. The same applies to ob-scala the package
which delivered scala support for org babel.
I have changed the layers default to metals and took care that
ensime is not tried to be installed until it is really selected
as a package.
In addition I have also fixed some smaller issues in the layer
which caused ensime specific settings to be forced even when
metals was selected as a backend.
I have also removed the not longer existing org-babel support
for scala as it requires ob-scala which in turn is based on ensime.
See https://github.com/hvesalai/emacs-scala-mode/issues/155 for details.
Modus themes are highly accessible themes for GNU Emacs, conforming with the
highest accessibility standard for colour contrast between background and
foreground values (WCAG AAA standard).
Screenshots: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
I have also updated the installation instructions as tsserver is not
longer available as single executable on npm. Also I've made sure that
modes register for tide backend only if it is really intended to.
Before this, `evil-ex-search-direction` would be left set to 'backward after:
- entering symbol highlight transient state mode (SPC s h)
- exiting the transient state
That means that pressing 'n' would go to the previous result instead of the next one.
This layer adds tidal-mode, to use TidalCycles (https://tidalcycles.org)
from Spacemacs. It also remaps some keybindings in places that are more
idiomatic to Spacemacs.
The previous PR failed to handle everywhere `mu4e-modes` list is being used so
this will bring it back, but still use the added lists for `purpose` setup.
The gnus variables were set in the `gnus/init-gnus`
functions `:config` section, that made them override
any user configurations.
Moving the variable declarations to the `:init`
section made them user configurable.
Instructoins on the following external dependencies required by certain
functions are added/updated to the README file:
- `cargo-edit`
- `cargo-audit`
- `rustfmt`
- `clippy`
Signed-off-by: Lucius Hu <lebensterben@users.noreply.github.com>
Clojure (CIDER) is missing the incredibly useful function that jumps to the end
of the line and evaluates the last s-expression.
This function is in Emacs Lisp major mode under `SPC m e $` and `SPC m e l`
The function `spacemacs/cider-eval-sexp-end-of-line` is a copy of
`lisp-state-eval-end-of-line` with the last line replaced to call the equivalent
cider function, `cider-eval-last-sexp`.
The same keybindings are added to the Clojure layer as used for elisp.
The keybindings follow the Spacemacs convention for evaluation, as defined in
https://github.com/syl20bnr/spacemacs/blob/master/doc/CONVENTIONS.org#evaluationResolves#4124
When purpose mode is enabled, Spacemacs fails to assign correct mu4e buffers to
correct windows when we're in headers view and select an e-mail from the list.
Since `*mu4e-headers*` and `*mu4e-view*` buffers have the same purpose
name (`mail`), and `*mu4e-loading*` buffer is either `fundamental` (or with a
recent version of upstream mu4e `mu4e-loading-mode`) which has the purpose
`general`.
So what happens is, when we select an e-mail from the list, e-mail opens up at
the headers' window, and loading opens up in the lower window which should have
displayed the actual email content.
With this commit, there will be two purpose names which will prevent this issue
from happening.
This is a squashed commit it contains:
- Added new sections on `cargo-edit`, `cargo-audit`, and `Clippy`,
which are used for several key-bindings in this layer.
- Re-ordered the `Key bindings` section, added entries for new bidings,
and improved description.
- ~SPC m c a~ for =cargo add=
- ~SPC m c r~ for =cargo rm=
- ~SPC m c U~ for =cargo upgrade=
- ~SPC m c A~ for =cargo audit=
- ~SPC m c X~ is for =cargo run --bin= now, instead of =cargo run --example=,
which is bound to ~SPC m c E~
I have noticed that most commands from the sphinx layer stopped working while
I was working on the restructured text layer.
This commit tries to jurry rig this package back into a working state.
It does not solve all issues we have in this package to do so a major
rewrite would be in order.
I have fixed:
- An endless loop caused by a failing search for a conf.py
- Fixed all compile commands
- Add a more detailed description of the meaning of the necessary config
variables in the doc.
This layer supported the very old linum and the non working
auto-complete-rst package. The later is not longer maintained
and does not work with up-to-date releases of sphinx causing
To fix the issue I have disabled `linum` and `auto-complete-rst`.
There is a popular question about openning file in exact window.
There is an ace mode for that, but it is not so clear how to use
it for new users.
That commmit add information how to use ace mode and how tweak it
based on information from https://github.com/Alexander-Miller/treemacs/issues/266
Add installation instruction for `sqlfmt` executable
Adapt documentation to be more like the other layers
Replace wrong default sqlfmt parameter -u with --use-spaces
Make error buffers be reused by default to reduce memory consumption
Change prefix for repl keybindings to be conform with the other layers
Remove obsolete progn statement
Enhances `sqlfmt` support in SQL layer.
`sqlfmt` was only being applied against the whole buffer, and did not allow
invocation against a specific region in the buffer. `sqlfmt` customize options
were not included under the `sql` group. It was not possible to control if
`sqlfmt` reused an existing error buffer or generated new ones.
- Added `sqlfmt-region` interactive command and binding under `sql-mode` keymap
- `sqlfmt-buffer` calls into `sqlfmt-region` with `(point-min)` and
`(point-max`)
- Added `sqlfmt` customize group as child to `sql` customize group
- Added `sqlfmt-reuse-error-buffer` option
- Updated `sql` layer documentation to reflect changes
The warning:
nlinum layer is deprecated for Emacs 26.1 and above
wasn't shown until SPC h SPC was pressed.
Because the variable: configuration-layer--used-layers
wasn't populated before the warning check occurred in
nlinum/packages.el.
The solution (suggested by syl20bnr) was to move the
check to a new file: nlinum/config.el.
When entering insert mode, don't start editing in the middle of the prompt text.
That is, given:
~/foo/bar> some command
^ ^ ^
A B C
Cursor A will jump to position C but cursor B won't.
Edit by duianto
This also stops the cursor from jumping to the end of the last line,
when entering insert state, from all but the last line in a multi line.
Example:
~/foo/bar>(+
1{cursor in normal state on the 1}
2)
Entering insert state: i
Before:
~/foo/bar>(+
1
2){cursor in insert state after the close parenthesis}
After:
~/foo/bar>(+
{cursor in insert state before the 1}1
2)
`lsp-mode` supports two LSP server backend for Rust language, i.e.
`rls` and `rust-analyzer`.
`rust-analyzer` is experimental and lacks certain functionalities
such as `DAP` support.
`lsp-mode` provides a function `lsp-rust-switch-server` that changes
the priority of LSP server backend for *new* LSP session.
This commit adds a key binding `SPC m s s` to `lsp-rust-switch-server`.
There's no keybinding for markdown-insert-kbd alongside all the other
markdown-insert-* keybindings, this patch adds one using the same
convention (specifically xk).
even though we have a check if doom is actually set in
dotspacemacs-mode-line-theme in doom mode line init function. doom-modeline
still adds a bunch functions to hook `after-change-functions regardless of the
value of mode line theme name. Hence we need to put a toggle on the declaration
The cl package has been deprecated.
It had aliases for cl- prefixed commands without the cl- prefix.
Ex: letf or letf* instead of cl-letf or cl-letf*
On the `spacemacs-base` distribution, with the `ivy` layer.
When one tries to search with `SPC /`
(which calls `spacemacs/counsel-search`)
Then this error message is shown:
>spacemacs/counsel-search: Symbol’s function definition is void: letf*
It doesn't happen with the `helm` layer,
because it's search commands already has the `cl-` prefix.
There are also three instances of: `letf`
in the `spacemacs-editing-visual` layers functions:
- `spacemacs/toggle-centered-buffer` (`SPC w c c`)
- `spacemacs/toggle-distraction-free` (`SPC w c C`)
- `spacemacs/centered-buffer-transient-state` (`SPC w c .`)
Without the `cl-` prefix they show the error message:
>Symbol’s function definition is void: letf
Previously, this would try to add the lsp jump handler to the mode's jump
handler list every time lsp started managing a buffer of that mode. Now, we only
use the lsp jump handler for buffers managed by lsp.
Per discussion in #13164, we have a standard, consistent technique for doing
this across any layer. Provided that `global-company-mode` is not set, this
works as expected to disable company without requiring custom variables.
Added keybindings for the Sesman REPL session management commands to the Clojure
layer, following the Spacemacs keybinding conventions.
https://docs.cider.mx/cider/0.23/usage/managing_connections.html
Sesman has been a part of CIDER for many versions now and provides session
management for nREPL connections (in fact any connections).
Sesman keybinds are placed in the `SPC m c` menu, providing a cleaner separation
between sending code to the repl and session management.
See issue #12593 and PR #13140 which covers the background for the design of
these additional keybindings.
Formatting the region and defun keybinds have been added, along with formatting
for edn files. Moved to `=` menu to match Spacemacs convention.
Evaluation up to point keybinding has also been added.
Documentation in the README has been updated to complete the description of the
existing Clojure layer, as well as including details specific to the new
keybindings.
Bind `SPC x d l` to `delete-blank-lines` (default: `C-x C-o`)
If the cursor is on a blank line:
- with blank lines above or below, then they are reduced to only one.
- without blank lines above or below, then the blank line is removed.
destructuring-bind is a macro in the deprecated package: cl
SPC-TAB calls: spacemacs/alternate-buffer
In the spacemacs-base distribution, it shows the message:
spacemacs/alternate-buffer: Symbol’s function definition is void: destructuring-bind
Also renamed three instances of destructuring-bind in the rirc layer.
The snippets seem to have been accidentally changed in this commit:
a2de9a63af (diff-75e0388987cdf040d82762426e40e5a5R434)
where other instances of checking for a layer, were changed to check for a
package.
It doesn't work to check if the haskell package is used in the user config
section, because the haskell package hasn't loaded yet.
Reverting it to check if the haskell layer is used works.
I would expect the default sort order in treemacs to be alphabetically
ascending, and indeed until recently it appeared to be so. But the
setting in spacemacs is `alphabetic-desc`, and has been ever since the
layer was introduced. How did this work?
The answer is https://github.com/Alexander-Miller/treemacs/pull/577.
Until recently the alphabetical ascending/descending orders were swapped
accidentally. So we need to now (more logically) set the sort order to
`alphabetic-asc`.
Spacemacs configures `org-present` to inline images while presenting. That much
makes sense. But it has a hook to turn them off unconditionally when exiting
presentation mode. This causes a problem if you just want images to show in and
out of presentation mode.
STEPS TO REPRODUCE
1. Create an Org file
2. Add a link to a file
3. Set `#+STARTUP: inlineimages`
4. `M-x org-present`
5. Exit presentation mode
EXPECTED
Because of `#+STARTUP: inlineimages` images are still inlined.
ACTUAL
The inline images have been removed upon exiting the presentation mode.
FIX
Check `org-startup-with-inline-images` on exiting presentation mode and only
remove the inline images if it is false.
TESTING
To ensure that this did not introduce a regression of the converse behavior, I
also tested with `#+STARTUP: noinlineimages`, and it still turned off the images
when exiting the presentation.
The function: helm-org-get-candidates was removed upstream.
Improvements:
Recenter the target candidate.
Reversed the helm headings list, to match the order of the
questions in FAQ.org, so that the Common questions are
listed first.
Removed the : (colon) after the heading: How do I
in FAQ.org, to match the other parent headings.
Add Spacemacs keybindings to the Clojure layer for all the sesman functions.
Sesman has been a part of CIDER for many versions now and provides session
management for nREPL connections (in fact any connections).
Several keybindings relating to the use of a specific repl been migrated the
`e` evaluation menu and `es` sent-to-repl-buffer sub-menu, providing a cleaner
separation between repl connection and session management and interacting with a
specific repl.
Updated layer documentation and keybindings in README.org file.
Added changes to CHANGELOG.develop
Resolves#12593
Make rainbow-identifiers not colorize special operators and macros, so they
always visually stand out. Rationale behind this change is that special
operators and macros in Lisp may be considered "syntax" elements, so it makes
sense to have them visually distinguished at all times.
Add key bindings to the `SPC p l` persp switch project prompt:
- helm `C-d`
- ivy `d` in the `M-o` actions list
They create a new perspective with the project name
and open a dired buffer at the project root.
The suggestion to also add it to ivy was provided by nixmaniack.