These try to modify the completions on a global basis.
This is causing a lot of issues with more intelligent
backends, which tend to do this in a more efficient
way already.
I have removed the global bindings for these now.
Layers should make `company-transformers` buffer local
and add specific versions of these when required.
auto-completion did not respect the smartparens-mode
defined in the dotfile when disabling/restoring it.
In addition when starting a yasnippet expansion
smartparens-mode was not properly restored resulting
in having smartparens always disabled.
This PR tries to fix both issues. Though judging from
the comments this could kill `hippie-expand` expansion.
However as yasnippet is more common I think this is
to be preferred.
To optimise performance of lsp mode in emacs 27 and above
I have introduced a new dotfile variable to define the size
of data read from external processes. The default I have
set to the recommended setting from lsp-mode.
In addition I have introduced a new layer variable for
auto-complete-layer to define the minimum prefix length.
I have also added instructions to auto-complete's readme
how to set these variables to the recommended settings
for lsp-mode.
Changes inspired from #13507
The company-quickhelp package wasn't mentioned in the auto-completion readme.
And the variable name auto-completion-enable-help-tooltip that enables the
package doesn't mention the package name either (which is fine).
This just makes it somewhat easier to see/find that the company-quickhelp
package is related to tooltips and that it's part of the auto-completion layer.
add auto-completion-enable-help-tooltip support
add auto-completion-use-company-box option and update document
add company-box config source url, remove empty line and join single line parenthesis
hide company-box mode line
update CHANGELOG.develop
hide doc popup when selection changed
add all-the-icon in auto-completion-packages
move icons config to auto-completion/init-all-the-icons according to duianto's advice
Syntax-checking and auto-complete layers should more
directly communicate that their function depends on
the installation of individual language layers to avoid
misunderstandings with new users who only install
syntax-checking or auto-complete and install the packages
manually.
It seems like the package is missing. We waited a while thinking it will be fixed but
people are starting to get annoyed by this. To be re-enabled once the upstream issue
is resolved.
Refs: https://github.com/melpa/melpa/issues/5657
See updated DOCUMENTATION.org and FAQ.org for more info.
* add core-env.el
* add library load-env-vars.el
* add bootstrap package dotenv-mode.el
* remove spacemacs-environment from bootstrap layer
* remove dotspacemacs variable dotspacemacs-import-env-vars-from-shell
* remove dotspacemacs variable dotspacemacs-improt-env-vars-shell-file-name
* add new key binding SPC f e e to open spacemacs.env file
* add new key binding SPC f e E to reload environment variable from env file
* add new key binding SPC f e C-e to re-initialize the env file from shell.
We must always use spacemacs/mplist-get on an modified plist, mixing both
spacemacs/mplist-get and plist-get leads to undefined behavior as soon as a
keyword as multiple keywords.
* Fix various isolated typos
"apppend" -> "append"
"availabe" -> "available"
"Descripti using ternon" -> "Description"
"you have not them" -> "you don't have them"
"new on" -> "new one"
"plained" -> "curved"
"repel" -> "REPL"
"vairable" -> "variable"
* Fix a few errors in the CoffeeScript layer readme
Add a missing "the".
Correct a reference to the layer as "javascript" to "coffeescript".
Fix the syntax on the link to CoffeeLint.
* Fix typos: "dofile" -> "dotfile"
* Fix typos: "formated" and "formating"
"formated" -> "formatted"
"formating" -> "formatting"
* hy: Fix docstrings in funcs.el
Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.
* Fix typos: "indendation" -> "indentation"
* Fix typos: "the the", "a a"
Fix duplicated (or misplaced) articles.
* Fix typos: "wether" -> "whether"
* Fix typos: "intialize" -> "initialize"
* 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.
Unfortunately preactivating yasnippet while dumping double the loading time.
Not sure why exactly the loading time doubles, it should no be the case.
So for now we only require the library and let the hook for activate it.
Add these keywords to macro spacemacs|add-company-backends
:append-hooks controls wether we add the hooks to major mode hook variable
:call-hooks conrols wether we execute the created hooks function right away
Basically for multiple backends setup we want to pass :append-hooks to nil and
:call-hooks to t.
Reverting a buffer could put multiple entries of the same backend in the buffer
local `company-backends` variable.
This is due to the fact that we mutate `company-backends-xxxx-mode` variable
with:
(setq ,backends-var-name
(mapcar 'spacemacs//show-snippets-in-company
,backends-var-name)))
Solution is to add a new variable that won't be mutated when we add the support
for snippets.
When multiple modes where provided to macro spacemacs|add-company-backends along
with variables, only the first mode was taken into account as the `variables`
variable was nil after the first interation on `modes`.
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.
Also remove unneeded addtion of yasnippet-snippets directory as it is done
automatically in the package.
push is to avoid in :init blocks because it will add duplicated entries when
the user reload the configuration with SPC f e R.