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
Following the advice from duianto #13100 we are
setting completion-styles for helm-M-x to include
the emacs version specific fuzzy strategy as last
resort.
Before no fuzzy matching occured within command
searches.
The cl package has been deprecated.
It had aliases for cl- prefixed commands without the cl- prefix.
Ex: letf or letf* instead of cl-letf or cl-letf*
On the `spacemacs-base` distribution, with the `ivy` layer.
When one tries to search with `SPC /`
(which calls `spacemacs/counsel-search`)
Then this error message is shown:
>spacemacs/counsel-search: Symbol’s function definition is void: letf*
It doesn't happen with the `helm` layer,
because it's search commands already has the `cl-` prefix.
There are also three instances of: `letf`
in the `spacemacs-editing-visual` layers functions:
- `spacemacs/toggle-centered-buffer` (`SPC w c c`)
- `spacemacs/toggle-distraction-free` (`SPC w c C`)
- `spacemacs/centered-buffer-transient-state` (`SPC w c .`)
Without the `cl-` prefix they show the error message:
>Symbol’s function definition is void: letf
The function: helm-org-get-candidates was removed upstream.
Improvements:
Recenter the target candidate.
Reversed the helm headings list, to match the order of the
questions in FAQ.org, so that the Common questions are
listed first.
Removed the : (colon) after the heading: How do I
in FAQ.org, to match the other parent headings.
If a user uses ripgrep persistent configuration file that sets options
helm overrides the argument parser for ripgrep might incorrectly parse
the command line used by helm.
The problem is encountered whenever an argument option occurs multiple
times and the last one is of this form: '--arg value' or '-a v'. If that
last argument is followed by the positional argument (input) then its
value will be treated as the input resulting in error due to too many
positional arguments.
In other worlds, this would fail to be parsed correctly:
rg --max-columns=10 --max-columns 20 input
rg --max-columns 10 --max-columns 20 input
While this works as expected:
rg --max-columns=10 --max-columns=20 input
rg --max-columns 10 --max-columns=20 input
The solution would be to use arguments in the form of '--arg=value'
which will never be treated as a positional argument.
Fixes#10953
and `SPC s B`
When one invokes `spacemacs/swiper-region-or-symbol` (`SPC s S`) or
`spacemacs/swiper-all-region-or-symbol` (`SPC s B`) with active visual selection
(transient-mark-mode), the selection expands over the buffer while one jumps
around with swiper. Thus I believe it is appropriate to deactivate visual
selection within the above command.
Since the mentioned commands both use identical code for getting the text to
operate on, I moved that code into a separate function.
`man` command displays output from the external program with the same name,
so it will generally fail to work on Windows.
`woman` is a pure elisp parser for manpages, so it will work on Windows. But
`woman` lacks colorizing of manpages, so we only use it as a fallback.
Fixes#11878
The issue seems to have been caused by helm making sure that
the functions that are called with: helm-exit-and-execute-action
are actions.
Ensure action is available before running it
d6dfb8f1e3
Helm:
SPC C l calls helm-colors
SPC h d F calls spacemacs/helm-faces
Ivy:
SPC C e calls counsel-colors-emacs
SPC C f calls counsel-colors-faces
SPC C w calls counsel-colors-web
SPC h d F calls counsel-describe-face
Thanks Miciah for the SPC h d F suggestion.
The commit 9c613b8 introduced a regression for ivy users that use ag or rg as
the search tool. It made `C-c C-e` and `F3` keybindings unavailable, and thus
making it impossible to make multi-file edits.
Partially fixes#12838
The newly introduced function to compile an elpa package
was very much redundant with the existing recompile-elpa function.
I have adapted recompile-elpa so that it can be used for the helm action too.
In addition I have bound recompile-elpa to `SPC c C-c` to allow users to
easily recompile their entire elpa directory if the need arises.
I have also removed the error handling in the helm action in favor of
standard error reporting via the *Compile-Log* buffer.
How to use: `SCP h p` select package then `F3` or `C-z` and choose `Recompile`
Motivation: Some packages when compiling need other packages to be loaded first.
The pacakage maintainers should make sure of this requirement but sommetimes
they don't. It also doesn't help when Spacemacs is lazy loading and compiles
updated pacakges on startup. So the manual fix for this problem is recompile the
package once Spacemacs has fully loaded. This requires user go to the package
install location to delete elc files and then do a `spacemacs/recompile-elpa`.
This commit will do that chore for them.
This will make fixing the problem with `org-plus-contrib` or `dumb-jump` update
every now and then easier.
Use =counsel-ag= and =counsel-rg= when possible. They have more
optimizations, such as switching directory, the ability to turn
on and off casefold, etc. Counsel will also carry future
improvement with these two functions, and spacemacs will
automatically benefit from it.
It has already been bound to <kbd>C-backspace</kbd> and
<kbd>C-delete</kbd>. Such an
additional binding is redundant (if hjkl navigation is not used) and
makes the original <kbd>C-h</kbd> binding
(help) unavailable.
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
counsel-git find a file in the current git repository. "gff" is
currently bound to magit-find-file. While counsel-git seemingly performs the
same functionality as magit-find-file, they are substantially different:
magit-find-file is not intended to find a file, contrary to what the
name indicates. See https://github.com/magit/magit/issues/3967 for
explanation. This is why we need another key binding for counsel-git.
counsel-more-chars was renamed to ivy-more-chars a year ago:
Move counsel-more-chars-alist and counsel-more-chars to ivy.el.
4461ef302a
with an alias to counsel-more-chars.
The alias was removed 2 days ago:
ivy.el: Clean up obsolete aliases
1a9002bf4b
It applies to the editing styles:
- hybrid with the variable hybrid-style-enable-hjkl-bindings set to t
- vim
Moved the default key binding for ivy-switch-buffer-kill:
From: C-k
To: C-M-k
Thanks for the suggestion: asok
helm-xref currently provides two functions and the user is expected
to use the correct one based on their emacs version. The lazy loading
logic has to be updated to set the correct xref-show-xrefs-function.