With the introduction of `rspec` support in version 0.105.0
tests run with rspec launch in their own `rspec-compilation`
which is not managed in `spacemacs-base/init-popwin` causing
those compilations to open a new buffer and take over an exisiting
window.
It is preferable to have the test compilation open in a popwin
that does not disrupt the current state of a workspace layout and
takes advantage of the full width of the current editor view
so it's easier to read. Popwin is also nice because it is easier
to dismiss with a simple `C-g` or `SPC w p p`.
Enable a global binding to access a list of available REPLs to run
everywhere. If the requested REPL depends on a major-mode that hasn't
been loaded, it will be loaded along its dependencies.
To make this work, a new `spacemacs/register-repl` function is included.
This function adds a major-mode and its repl function to a global
variable.
Addressing #4630. C-d is now bound to eshell-delchar-or-maybe-eof which
checks if there is a char after the point. If so, it performs the normal
delete-char, otherwise eshell-life-is-too-much.
Two specific issues have been addressed. In README.org there was no
mention of the workspaces micro-state.
The micro-state documentation erroneously stated that 'R' could be used
to create a new layout. 'l' was mentioned nowhere as the way to create a
new layout.
The rest of this commit only updates both docs to contain the same info.
This commit restores the spacemacs/avy-open-url SPC x o keybinding,
and also adds spacemacs/avy-goto-url to the package :commands to fix the
missing function definition on the SPC j U keybinding.
See issue #4605. When dotspacemacs-helm-header is changed from the
default nil, then the helm-source-header theming does not updated when
a new theme is loaded.
This was due to the helm-source-header-default-xxx variables being set
only once and not updated when a new theme is loaded. The fix adds an
advice to spacemacs/post-theme-init to update these variables.
This allows for all other code including theming to take place and then
set the variables correctly i.e
load-theme -> post-theme-init -> helm-header
This also ensures the code is correctly decoupled now that helm is one
of the optional completion layers.
When a single source helm is viewed the source face-attribute was
changed from helm-selection to default as this gives a more consistent
result for themes that have bright highlight lines and/or no helm face
values.
A recent change in evil-jumper makes this unnecessary. The keys are now
bound as remaps, which means they have the same priority as the location
of the evil-jump-forward and evil-jump-backward commands. This is
exactly what this hack was trying to accomplish, so it's no longer
necessary.
Unless there is a valid reason why these shouldn't be included I think
we should keep them. after all we can yank with `v y` right?
squash! Add documentation
Key bindings should not be choosen given a package name, some helm
key bindings are under `SPC h` which are corrected the following way:
SPC h l for helm-resume to SPC r l (resume last completion)
SPC s l for last-search to SPC r s (resume search) (SPC s l is still
available)
SPC h L for helm-locate-library to SPC s L
Resolve#4592
Enable a hook in +distribution/spacemacs layer to enable bracketed-paste
in tty setups. This allows a better paste functionality in tty.
squash! Sort packages.
Move org-default-notes-file from ~/.notes to org-directory/notes.org
and remove forced creation of org-directory. User will be prompted
to create directory on completing capture.
Bind it to `SPC h d d` as it's a way to describe a lot of elements:
- commands
- functions
- classes
- generic functions
- variables
- faces
- helm-attributes
Is also bound on `SPC F1` and will also stay there.
SPC h . helm/ivy-spacemacs-help-dotspacemacs
SPC h SPC helm/ivy-spacemacs-help
SPC h f helm/ivy-spacemacs-help-faq
SPC h l helm/ivy-spacemacs-help-layers
SPC h p helm/ivy-spacemacs-help-packages
SPC h r helm/ivy-spacemacs-help-docs
SPC h t helm/ivy-spacemacs-help-toggles
There's not that many commands under `SPC h` so this gives easier access
to these commands. It also makes `SPC h SPC` get you straight to the
docs in both helm and ivy.
`SPC j j` is now for avy-goto-char (SPC SPC in 0.105)
`SPC j J` is for avy-goto-char-2
`SPC j s` is for splitting strings or sexps
`SPC j S` is for splitting strings of sexps, insert new line and indent
`SPC j n` is to split line at point, insert new line and indent
- Fix typos in README.org
- Add missing image
- Remove unecessary post-init functions
- Move SPC m h to SPC m h h to follow conventions
- Add correct copyright attribution
Instead of checking for our platform, simply test if the variables have
already been set. If not, let exec-path-from-shell figure out the right
values.
ivy-use-virtual-buffers was triggering recentf-mode to be called before
the recentf init function was called leading to problems with where the
recentf file was placed.
This layer configures spacemacs to use the ivy/counsel/swiper family of
packages. Default completion is done with ivy. This is meant to replace
helm for those who want it.
Background: `C-i` and `TAB` are the same keycode for historic reasons.
With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:
- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
to use the `C-i` (==`TAB`) keycode.
- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)
The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.
[1] 082bd65ccc/evil-maps.el?fileviewer=file-view-default#evil-maps.el-323
[2] efaa841ca4/evil-jumper.el (L241)Fix#4505Fix#4487
Use mnemonic j for jumping commands. Although some of these commands
exist in other places, they are duplicated here when they don't
conflict.
Add:
1. jb for bookmark-jump
2. jc for avy char jump
3. jd for dired-jump
4. jD for dired-jump-other-window
5. jf for find-function-at-point
6. ji for spacemacs/jump-in-buffer (imenu)
7. jI for helm imenu in all buffers
8. jl for avy go to line
9. ju for avy-pop-mark (u for "undo")
10. jU for spacmacs/avy-goto-url
11. jv for find-variable-at-point
12. jw for avy go to word or subword
Move:
1. jh to j0 (push mark and go to beginning of line)
1. jl to j$ (push mark and go to end of line)
- Move all setq outside of spacemacs/load-yasnippet
- Explicitly add each snippet dirs, even the one in elpa dir
Before this commit I still get error on yasnippet loading, with this
commit the error is gone.
I hope we get yasnippet loading right this time! :-)
- Don't enable yasnippet before setting folders (avoid explicitly
loading them)
- Require yasnippet manually to get the yas-snippet-dirs value
- Don't include yas--default-user-snippet-dir (this is
~/.emacs.d/snippets)
- Allow `auto-completion-private-snippets-directory` to also be a list
of directories
Fix incorrect use of spacemacs/add-to-hook which used emacs-lisp-mode
for the hook variable. Since we are only adding a single function to the
hook, just use add-hook.
Having them in a minor mode map gives them precedence over other minor
modes. It's better to put the bindings in the same place as the original
evil jump commands which is the global motion map.
Derived modes don't inherit evil keybindings from their parents, this is
interesting to note, also it would be so great if we could have a
`set-leader-keys` macro that could take a list of modes as well.
This make `SPC h SPC` as default binding for accessing `helm-spacemacs`,
by either A) changing all the documentation; and B) adding a deprecation
message for `SPC f e h`.
The deprecation use a warning, because if a message is used it's hidden
directly when the helm buffer is shown, making it nearly unnoticeable
for the user.
Add the latex-enable-folding variable which turns on TeX-fold-mode and
adds some related bindings.
Reorganize the layer:
1. Move reftex into packages.el and delete the extensions file.
2. Don't duplicate the binding of keys. Use a loop to bind in tex-mode
and latex-mode. Then just add the additional latex-mode bindings