* shell: Restore correct value for company-idle-delay
In spacemacs//toggle-shell-auto-completion-based-on-path, re-enable
automatic suggestions by restoring company-idle-delay to the value of
auto-completion-idle-delay rather than to a hardcoded value.
* Document how to disable automatic suggestions
Document how to disable automatic suggestions, and mention that the Tab key
will still perform completion even with automatic suggestions disabled.
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.
The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
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
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>
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 value `manual` for auto-completion-enable-help-tooltip enables the
user to display help tooltip on-demand. Other values remain the same:
nil for no tooltip at all, t (or any non-nil non-manual value) for
automatic tooltip.
Minor fix: call `company-quickhelp-mode` just once, because it's a
global minor-mode.
Keep it in a recommendation in the README for the layer. Eval'ing the
custom-set-faces directly in the config makes it difficult to revert the
customizations.