Fix docs for "Fish shell and ansi-term" and explicitly enable `truncate-lines`.
I was using the suggested hook as well as `(setq-default truncate-lines t)`,
so my fish shell was acting funny because `truncate-lines` was being disabled
rather than enabled.
Apply idiomatic way of configuring org-babel for the cfengine engine.
Remove the documentation about how to configure it since Spacemacs does it
automatically.
| ~SPC D c~ | open docker containers buffer =*docker-containers*= |
| ~L~ | open log popup for a running container |
| ~L~ | open the log |
| ~SPC b d~ | kill the buffer |
|--------------------+------------------------------------------------------|
| Observed behaviour | the =scratch= buffer is shown |
| Expected behaviour | return to =*docker-containers*= buffer |
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)
This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.
This commit also fixes:
- configuration-layer/describe-package now shows which post-init and pre-init
functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
configuration-layer/discover-layers. Previously, this led to all layers being
recreated after e.g. `SPC h SPC`, without any of the dotfile information.
Since this information is now necessary for
configuration-layer/describe-package, it’s important that we don’t clear the
indexed layers when invoking this function.
Looks like pass is trying to use variable which isn't available for some time,
at least there are no other packages using it.
`completing-read` should be universal for all completing needs I hope.
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs. Verbatim markup (`=`) is reserved for code and
other code-like things. So change several readmes to reflect this convention.
Use verbatim markup for things like (non-exhaustive list):
- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
Sometime in the past editorconfig layer has been deleted.
Commit: 5887344.
Related PR: #1526.
Explanation was that layer was so simple that everything you need to get
editorconfig to work is just add it to dotspacemacs-additional-packages.
However it's not quite true.
- (editorconfig-mode t) should be performed manually.
- it looks ugly in modeline.
If we don't use the default docksets, helm-dash will not work smoothly
unless we set the `dash-helm-dash-docset-path' variable when we import
the dash layer(actually, the default dash docset path is always
"~/Library/Application Support/Dash/DocSets").
For now realug is used only to C and C++ so it makes more sense to add it to
the c-c++ layer for now.
Later if we can generalize the support of realgud for other languages and we
can start a debugger layer.
| ~SPC m c~ | Clear deft filter |
| ~SPC m N~ | Create new file named |
| ~SPC m o~ | Deft open file in other window |
| ~SPC m r~ | Rename selected note |
It is an Emacs-wide convention to use `RET` when referring to the act of
pressing the return key. Spacemacs seems to follow that convention as well. So
fix some Org files that were deviating from this convention.
In particular, replace usages of `<return>` and `return` with `RET`.
Also update the description of an `M-RET` keybinding[1] based on the docstring
of `ido-select-text`.
[1]: Suggested-by: bmag <bmag@users.noreply.github.com>
Modify the default behavior for eshell's clear functionality.
- Make eshell `clear RET` _similar_ to `C-l`
- `clear RET` is eshell/clear
- `C-l` is eshell-clear-stroke
- Prevent `C-l` clearing cycle
- Prevent `clear RET` inserting a page of white-space
- Prevent duplicate insert lines from `clear RET`
- Make eshell-clear-keystroke that is dependent on eshell/clear
- Load both after eshell is initialized to prevent them from being overwritten
This fixes#5424, fixes#5419
Modify eshell clear statements load position
Change the clear statements load position from after loading eshell to
after enabling eshell.
This produces the same result, but is cleaner.
Note, they _cannot_ be defined before eshell loads, otherwise they are overwritten.
Refactor eshell-clear-keystroke to spacemacs/eshell-clear-keystroke
- Reduce steps needed to access clear command with define key
- Rename function to match naming conventions
- The function shouldn't be accessed from the shell prompt
- So not eshell/clear-keystroke
- The function isn't from eshell.el
- So not eshell-clear-keystroke
- However, eshell/clear should be since it is overwriting a command
Eshell doesn't call preoutput-filter functions in the context of the eshell
buffer. This breaks the xterm color filtering when the eshell buffer is updated
when it's not currently focused.
I intend on submitting this fix upstream when I get a chance but an advice fixes
it for now. The other fix is to move the xterm color filter to a
output-filter function (instead of preoutput-filter) but those operate on
strings that have already been inserted into the buffer.
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`
- Prefer add-to-list function to alter golden-ratio variables so the lists
are less likely to grows as users reload their spacemacs config.
- Move some config to layers when appropriate
- Sort alphabetically the values
- Remove some duplicates in exclude-modes
As reported in #5694 dash layer cannot be configured according to the
documentation. This commit fixes that, and allows you to actually define docset
path with `helm-dash-docset-newpath`. It also defines more sensible default for
docset `~/.docsets`, which is the default path for helm-dash.
Fixes#5694
The binding of `SPC m n` calls `deft-new-file`, which only uses the
filter text `(when deft-use-filter-string-for-filename)`, which is set
to nil originally. So we need to make it true.
After 63dc8f7ea0 `SPC '` started to ask
for "Run program" instead of opening the shell with the defined shell.
This commit remove the `call-interactively` that are causing this
problem. `SPC u SPC '` is still working as far as I tested.
This makes sure that all the setup happens at the same time. Previously
some setup happened at loading time of esh-mode while some happened in
eshell-mode-hook. Everything output between this (the first prompt)
looks different.
- Replace `M-SPC` and `S-M-SPC` by the more conventional `SPC m .`
- Reorganize the code in packages.el
- Add image in README and list bindings with explicit `SPC m` prefix
Start to isolate the list of packages. Also we want to define packages
function at the top level of an elisp file in order to not prevent
emacs from knowing where the functions are defined.
This commit has a POC made with elfeed and elixir layers.
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.
Rename variable `elfeed-web-enabled-on-emacs-startup` to
`elfeed-enable-web-interface`
Change screenshot for a logo
Fix loading of elfeed when elfeed-enable-web-interface is non nil
Replace deprecated functions calls like `evil-leader/set-key` or
`spacemacs|evilify-map`.
Fixes warning:
Compiling no file at Tue Nov 3 13:42:42 2015
../../init.el:Warning: `vagrant-tramp-enable' is an obsolete function; use
`vagrant-tramp-add-method' instead.
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes#2737, because as far as I can tell "+" has no special
meaning in a helm pattern.
Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".