Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).
All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.
This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)
The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).
The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.
The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
Move add-company-hook calls to correct init functions (only css backend is from
company package, the others are from company-web).
Correctly add company backends for jade and slim. Jade has been renamed to
Pug , there is no guarantee at all that jade references still work. To check.
- add new bindings to move and swap buffers, and switch active window,
by number
- change kill buffer shortcut to d for consistency
- Change docs appropriately
The `pyvenv-mode` doesn't provide a list of available virtual
environments. So it's not currently possible to check if the
provided virtualenv name is available
Removed the variable p2, it was defined and assigned, but never used.
Removed two progn expressions that wasn't needed.
Implemented bmag's suggestions:
Changed "if" to "when", and removed a superflous p1 assignment.
spacemacs/alternate-window was suggested to switch between the last selected
window, or the window-analog of SPC TAB (spacemacs/alternate-buffer). This is
part of a larger family of functions, such as spacemacs/jump-to-last-layout on
SPC l TAB and eyebrowse-last-window-config on SPC l w TAB.
Resolves#7845
Important evil advices for eval-last-sexp were removed for smartparens users,
it made eval-last-sexp not working correctly in normal state by evaluating the
sexp before the evil cursor and it was impossible to evaluate an sexp when the
cursor was on the last character of a line.
Also add SPC m e C which will execute the first defun or setq sexp encountered
before point.
This commit adds a conditional which allows `dumb-jump` to use a selector
matching the current completion framework used (`ivy` or `helm`), instead
of the default popup. This relates to work done for adding Helm support
to `dumb-jump` here: https://github.com/jacktasia/dumb-jump/pull/96
The motivation behind this is two-fold: the fact that popups are known
to be broken when used with conflicting packages, such as `fci-mode` for
showing a column marker, and the need for better completions with the
possiblity for fuzzy-matching. This should hopefully lead to a more
consistent experience as well.
New key bindings to encrypt decrypt ansible-vault encrypted files.
New layer variable ansible-auto-encrypt-descrypt to control seamless edition
of encrypted files.
CHANGES
-------
Add new keybinding to neotree to allow the copying of nodes from the neotree
buffer. Update documentation as well.
WHY
-------
There appear to be all other common file operations bound to the neotree buffer,
however copying of a node is not.
New function `dotspacmacs/emacs-custom-settings` wrapping Emacs
custom settings sexps.
`dotspacemacs/emacs-custom-settings` is called just after the user
configuration (`dotspacemacs/user-config`)
Customize cannot write its auto-generated sexps inside a function, to
accomplish this we trick Emacs by setting the custom file to a file
in `.cache` directory, the path to this file is defined by the variable
`spacemacs--custom-file`. At the startup of Emacs we read this file
to insert its content inside the function
`dotspacemacs/emacs-custom-settings` in the dotfile, this is done in the
function `spacemacs/write-custom-settings-to-dotfile`.
I don't think we need to write the custom settings to the dotfile when
exiting Emacs as well, since we do it at startup at the very beginning
(i.e. before actually loading the dotfile) we should be OK.
Fixes#5170
The current default color is "black", which creates ugly bars for many
themes on both sides of the centered buffer. This change sets the fringe
color to the buffer's background color, which blends in nicely.
- spacemacs/racer-describe to respect help-window-select
- replace evilified-state-evilify{,-map} and move to :config
- change funcs.el from dos format to unix format (newlines)
- modify spacemacs-jump-handlers-rust-mode only once
No need to override default Vim behavior for this key bindings since
they are available on SPC m n and SPC m p already.
Note: We could add a transient state to go nicely with SPC m n and SPC m p.
Changes to rotate-windows:
- rename to spacemacs/rotate-windows-forward
- direction of rotation matches window numbers
- COUNT argument now rotates all windows by COUNT steps
- all window parameters are saved, not only buffer and window-start
swap-windows is not used for now, but could be helpful in the future.
from https://www.emacswiki.org/emacs/CopyingWholeLines
Duplicate current line, or region if active.
With argument N, make N copies.
With negative N, comment out original line and use the absolute value.
keybinding: `SPC x l d` (text - line - duplicate)