- 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`
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
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.
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.
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.
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
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.
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.
`display-fill-column-indicator-mode` is a new native fill column indicator
mode implemented on C-level, thus has almost no performance penalty in contrast
with the legacy `fci-mode` implemented in elisp.
This commit implements conditional activation of the mentioned mode on
Emacs 27+. `fci-mode` is still available for previous Emacs versions.
Resolves#12884
doom-modeline-init was marked as obsolete in version: 1.6.0.
Add new mode: doom-modeline-mode.
868f1bb00b
The doom-modeline package is currently at version: 2.6.2.
Removed the parentheses around the buffer name number,
because the angle brackets are enough.
Added the frame argument.
Rewrote the accepted SPLIT arguments as a table.
The newly introduced function to compile an elpa package
was very much redundant with the existing recompile-elpa function.
I have adapted recompile-elpa so that it can be used for the helm action too.
In addition I have bound recompile-elpa to `SPC c C-c` to allow users to
easily recompile their entire elpa directory if the need arises.
I have also removed the error handling in the helm action in favor of
standard error reporting via the *Compile-Log* buffer.
- Removed the word `Manipulation` from the transient state titles:
- Buffer Manipulation Transient State and Window Manipulation TS
- Expanded the TS abbreviation to Transient State
- Documented the Buffer Transient State key binding:
`q` to quit the transient state
- Capitalized `Transient State` in the titles
- Window Transient State:
- Added a line break after the title in the folded hint.
This allows for more keys to be visible horizontally.
- Moved up the [?] help key after the title, so that
it's in the same place in both the folded and full
transient state.
The search next/previous commands are different
because of the `evil-search-module' values:
vim = evil-search
hybrid = isearch
- With the =vim= editing style in =normal= state:
- ~n~ =evil-ex-search-next=
- ~N~ =evil-ex-search-previous=
- With the =hybrid= editing style in =normal= state:
- ~n~ =evil-search-next=
- ~N~ =evil-search-previous=
Front end:
minified hint:
- Added `a`
- Sorted `w` alphabetically
full hint:
Sorted keys alphabetically:
- Select: a, o, w
- Other: d, D, u, U
Back end:
Grouped the keys by the transient state columns
problem:
the variable names: `dir`, `name`, and `filename` leads to confusion if they are
the old or new names
solution:
add the prefix `old-` to match `new-`,
use (`old-` `new-`) + `short-name` for just the `file.ext` (the `short-` idea
came from the `spacemacs/rename-file` function that's defined above this one),
and `old-full-path` instead of `old-filename` makes it clear that it's not just
the files name and extension.
problem:
renaming a file to it's current name, results in the message:
"File 'current-name' successfully renamed to 'current-name'"
solution:
when the new and old names are the same, show a rename failed message, and call
the rename function again
problem:
the rename command shows the same message:
"File 'old-file-name' successfully renamed to 'new-file-name'"
(without the directory path) for all three file operations:
move, rename and both move & rename
solution:
show messages that fit the rename operation,
and align the from and to path/file names,
to make it easier to see what changed.
And use the same message format when renaming a buffer.
Sometimes it is useful to go directly to the last error message in the buffer.
This function recursively calls 'spacemacs/next-error until the last error is
reached.
The binding "SPC e l" is associated with it
It has already been bound to <kbd>C-backspace</kbd> and
<kbd>C-delete</kbd>. Such an
additional binding is redundant (if hjkl navigation is not used) and
makes the original <kbd>C-h</kbd> binding
(help) unavailable.
Follow up the changes in the previous commit with some minor improvements
to formatting, grammar, spelling, and wording.
* layers/+distributions/spacemacs-docker/README.org: Replace "+" with
"and".
* layers/+email/mu4e/README.org: Use full sentences in the comments in the
mu4e-alert example.
* layers/+intl/japanese/README.org: Use verbatim markers for names of
files, functions, packages, and variables. Capitalize "Linux".
* layers/+os/osx/README.org: Capitalize "Emacs", "Vim", and "Evil".
* layers/+os/osx/config.el (osx-command-as, osx-use-dictionary-app):
* layers/+os/osx/keybindings.el (spacemacs/system-is-mac): Improve
docstrings.
* layers/+readers/dash/README.org: Capitalize "API", "Helm", and "Ivy".
* layers/+spacemacs/spacemacs-defaults/config.el
(delete-by-moving-to-trash): Use full sentences in comment.
* layers/+spacemacs/spacemacs-defaults/funcs.el
(spacemacs/toggle-frame-fullscreen-non-native): Improve docstrings.
Instead of using a single variable for all transient states' full-hint
toggle functions, define a unique variable for each toggle function so that
toggling the full hint for one transient state does not affect the others.
* CHANGELOG.develop: Add an entry for this change.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs--window-manipulation-ts-full-hint-toggle): New variable.
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint): Replace
spacemacs--ts-full-hint-toggle with
spacemacs--window-manipulation-ts-full-hint-toggle.
* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Delete variable.
(spacemacs--layouts-ts-full-hint-toggle)
(spacemacs--workspaces-ts-full-hint-toggle): New variables.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint): Replace
spacemacs--ts-full-hint-toggle with spacemacs--layouts-ts-full-hint-toggle.
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace spacemacs--ts-full-hint-toggle with
spacemacs--workspaces-ts-full-hint-toggle.
Use nil and t instead of 0 and 1 for spacemacs--ts-full-hint values.
* layers/+spacemacs/spacemacs-layouts/config.el
(spacemacs--ts-full-hint-toggle): Define with an initial value of nil.
* layers/+spacemacs/spacemacs-defaults/keybindings.el
(spacemacs//window-manipulation-ts-toggle-hint)
(spacemacs//window-manipulation-ts-hint):
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//layouts-ts-toggle-hint, spacemacs//layouts-ts-hint)
(spacemacs//workspaces-ts-toggle-hint, spacemacs//workspaces-ts-hint):
Replace (logxor ... 1) and (equal 1 ...) with (not ...) and a simple truth
check.
It applies to the editing styles:
- hybrid with the variable hybrid-style-enable-hjkl-bindings set to t
- vim
Moved the default key binding for ivy-switch-buffer-kill:
From: C-k
To: C-M-k
Thanks for the suggestion: asok
Remove empty lines:
- Two in the Layouts Transients State.
- Three in the Workspaces Transient State.
In the Layouts Transient State:
Move the navigation keys:
[n/C-l] next layout
[N/p/C-h] prev layout
closer to the top, to match the order in the Workspaces Transient State.
Change to a more generic description, without mentioning the other
completion name.
From: [l] layout w/helm/ivy
To: [l] another layout
Shorten the descriptions:
From: [w] workspaces transient state
To: [w] workspaces TS
and
From: [t] show a buffer without adding it to current layout
To: [t] show buffer w/o adding to layout
Indicate what's being added:
From: [A] add all from layout
To: [A] add all buffers from layout
In the Workspaces Transient State:
Rename "create" to "clone, because it's more descriptive and the
docstring for the variable "eyebrowse-new-workspace" says:
"nil: Clone last workspace."
From: [c/C] create workspace
To: [c/C] clone workspace
Add "TS" to the description to indicate that it switches to the Layouts
Transient State and then it will match "workspaces TS" in the Layouts
Transient State.
From: [l] layouts
To: [l] layouts TS
Instead of sorting "[l] layouts TS" alphabetically by it's key letter,
move it to the bottom of the "Go to" column. This has two benefits:
- The workspaces navigation keys are grouped together, without having
"[l] layouts TS" in the middle.
- And "[l] layouts TS" will be the last entry in the "Go to" column.
This matches the location of "[w] workspaces TS" in the Layouts
Transient State.
Change to a more generic description, without mentioning the other
completion name.
From: [w] workspace w/helm/ivy
To: [w] another workspace
Updated the Workspaces Transient State "SPC l w".
Added a new key: "[s/S] single win workspace" to the Actions column.
It creates a new workspace with a single window, that shows the
Spacemacs home buffer.
Moved the existing key: "[c/C] create workspace" to the Actions column.
Update 'spacemacs|create-align-repeat-x macro to add a docstring to created
functions. The docstring refers the user to the macro, providing a link to
the source code.
As winner-mode was moved from init.el to dump-init.el winner-mode
was not longer properly started for non-dumped emacs sessions.
Having winner-mode auto activate at startup did fix the issue
for non-dumping users but in turn broke the dumping process.
I have now moved the necessary winner-mode init to
spacemacs/setup-startup-hook which is only called
in the non-dumping case. To allow customizations I activate
winner-mode prior to loading user-init this will allow users
to deactivate winner-mode in the dotfile and fix ediff themselves
if this is wished for.
Lazy loading of `winner-mode` breaks `ediff` and
`winner-undo`. As a hotfix I have deactivated
lazy loading for that package for now.
Just activating `winner-mode` after `winner-undo`
or `winner-redo` has been called does not solve
the issues described in #12582.
Guard :requires against ivy not projectile. projectile is already owned by
buil-in spacemacs-project layer, so it's always t.
This prevents install of ivy, counsel, swiper and counsel-projectile
packages regardless of helm layer
problem:
Canceling "spacemacs/ace-buffer-links" with "C-g" showed the error message:
"goto-char: Wrong type argument: number-or-marker-p, t"
solution:
Only go to and press the link if it's a position (number).
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.
Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point
`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame
Update documentation:
Zoom frame:
`q` quit transient state
Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state
Fixed a typo and made a small rewrite of the tip about using a prefix argument.
Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state
Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state
Evil numbers:
Added `k` increase
Added `_` and `j` decrease
Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state
Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To: +,=
From: - and _
To: -,_
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`
Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.