spacemacs/add-flycheck-hook was not really hooking anything, change the name
to better reflect what it does.
Also changed the push for a add-to-list to avoid duplicates.
The issues section in the bitbucket evil repository seems to
have been removed when the evil package was migrated to github.
It means that the bitbucket url to the file: evil-states.el,
is eventually going to become outdated and possibly removed.
And the bitbucket issue url now redirects to the bitbucket sign
up page.
Therefore both urls were updated to point to the equivalent
urls in the github evil repository.
New functions in rst-sphinx:
- rst-sphinx-find-conf-py-path
- rst-sphinx-open-conf
- rst-sphinx-clean
- rst-sphinx-rebuild
Modified functions:
- rst-sphinx-compile takes now an optional argument to clean the project
- rst-sphinx-find-conf has been renamed to rst-sphinx-set-variables and now use
rst-sphinx-find-conf-py-path function
New key bindings:
- "cc" --> rst-sphinx-compile
- "cC" --> rst-sphinx-clean
- "cr" --> rst-sphinx-rebuild
- "gc" --> rst-sphinx-open-conf
- "o" --> rst-sphinx-target-open)))
Updated entry for "show dotfiles at ranger startup" option.
Old variable had no effect (possibly deprecated)
Updated entry for "show previews literally" option.
Old variable had no effect (possibly mistype)
Actually, revert @jgertm's change that I asked to make. As @bmag explained, this
is very useful key binding that is similar to C-c C-c as it allows to quickly
access functionality by pressing `dotspacemacs-major-mode-leader-key` twice.
Also note that `dotspacemacs-major-mode-leader-key` can be nil, that's why we
have to handle this value as well.
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.
New key bindings to encrypt decrypt ansible-vault encrypted files.
New layer variable ansible-auto-encrypt-descrypt to control seamless edition
of encrypted files.
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.
See end of this message for important breaking changes.
Previous behavior was to configure any installed package which caused
a lot of bad side effects and could make spacemacs unusable. This
behavior made little sense and does not fit with spacemacs.
This commit fixes this behavior by separating installed packages from
configured packages. In short dostspacemacs-download-packages variable
now only affect package installation. Packages are now configured if and
only if they are effectively *used* (i.e. listed in variable
dotspacemacs-configuration-layers or dotspacemacs-additional-packages).
IMPORTANT CHANGE: functions `configuration-layer/declare-used-layer` and
`configuration-layer/declare-used-layers` have been removed. These
functions have been introduced in develop branch only so the impact
should be minimal.
TL;DR Should get 20~25% speed improvement on startup, should get a big
improvement when using ivy or helm SPC h SPC. Users with layers.el files
in their layers must use `configuration-layer/declare-used-layer`
instead of `configuration-layer/declare-layer`
The implementation of the layer system made heavy use of `object-assoc`
and `object-assoc-list` functions which are not efficient. This PR
mainly replaces those object lists with hash maps in order to index the
objects by their name and achieve an O(1) access time.
The old object lists `configuration-layer--layers` and
`configuration-layer--packages` have been each by two variables each:
- `configuration-layer--indexed-layers` which is a hash-map of all the
layer objects and `configuration-layer--used-layers` which is a list of
all _used_ layers symbols,
- symmetrically `configuration-layer--indexed-packages` which is a
hash-map of all the package objects and
`configuration-layer--used-packages` which is a list of all _used_
packages symbols.
The hash map `configuration-layer--layer-paths` is gone, now we create
directly layer objects when discovering the layers and set the :dir
property. Note that previously the layer paths were the parent directory
of the layer, now :dir is the layer path.
The function `configuration-layer//make-layer` is now similar to its
counterpart `configuration-layer//make-package` in the sense that it
takes an optional `obj` to be able to override its properties.
The functions `configuration-layer/declare-layer` and
`configuration-layer/declare-layers` now takes an optional parameter
`usedp` in order to declare used or not used layers. For convenience
new functions have been added: `configuration-layer/declare-used-layer`
and `configuration-layer/declare-used-layers`, users _must_ update all
occurrences of `configuration-layer/declare-layer` by
`configuration-layer/declare-used-layers` in their `layers.el` files.
`helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the
changes in `core-configuration-layer.el`.
Rename some variables to make them more explicit:
`configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers`
`configuration-layer-distribution` -> `configuration-layer-force-distribution`