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.
- Added a changelog.develop entry to the various documentation changes section.
- Fixed a typo.
- Improved some of the wording.
- Mentioned that save or discard leaves helm-ag-edit not just iedit state.
When trying to complete a path at the `:e ` evil-ex-completion prompt by
pressing `TAB`.
Before: The default Emacs `*Completions*` buffer opens.
After: The `HELM Completion At Point` buffer opens.
And sorted the transient hooks alphabetically.
Delete the hook that commit 9fcf8c898d added
to persp-created-functions, and change spacemacs/ivy-spacemacs-layouts,
spacemacs/helm-perspectives, spacemacs/helm-persp-switch-project, and
spacemacs/ivy-persp-switch-project to achieve the intended goal of adding
the desired buffers after creating a new perspective.
Change spacemacs/helm-persp-switch-project and
spacemacs/ivy-persp-switch-project as follows: If the user selects a
project but then quits without selecting a file or buffer, the new
perspective is now immediately killed. Otherwise, if the perspective did
not already exist, any buffers that belong to the selected project are
added to the perspective.
Add the following actions to spacemacs/ivy-spacemacs-layouts and
spacemacs/helm-perspectives:
* Create a new perspective with the Spacemacs home buffer (default action).
* Create a new perspective with the buffers that belong to the current
buffer's project.
* Create a new perspective with the buffers that belong to the current
perspective (i.e., make a copy of the current perspective).
This commit resolves the problem reported in
9fcf8c898d (commitcomment-33343455).
This commit also fixes a problem with the default action for
spacemacs/ivy-spacemacs-layouts and spacemacs/helm-perspectives. According to
commit 7b931a9f5b, the default action is supposed
to display the home buffer if the action creates a new perspective, which was
determined by checking whether the perspective was missing from the list of
perspectives _before_ switching. However, commit
eb7ca651fe changed this logic so it was checking
whether the perspective was missing from the list of perspectives _after_
switching. This commit restores the correct logic.
* CHANGELOG.develop: Update.
* layers/+completion/ivy/funcs.el (spacemacs/ivy-spacemacs-layouts): Add
"Copy Current Layout" and "Create Project Layout" actions to the docstring.
Use spacemacs//create-persp-with-home-buffer for the default action.
* layers/+completion/ivy/packages.el (ivy/post-init-persp-mode): Add
actions for spacemacs//create-persp-with-current-project-buffers and
persp-copy.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs||switch-layout): New macro. Switch to the named perspective,
and initialize it using the provided forms if the perspective is new.
(spacemacs//create-persp-with-current-project-buffers): New function.
Create a new perspective with the current project's buffers.
(spacemacs||switch-project-persp): New macro. Switch to the named
perspective, and evaluate the provided forms with
projectile-after-switch-project-hook bound with a hook that adds the
current project's buffers to the perspective. If the user quits during the
evaluation of the forms, kill the perspective.
(spacemacs//create-persp-with-home-buffer): New function. Switch to the
named perspective, and go to the Spacemacs home buffer if the perspective
is new.
(spacemacs/helm-perspectives): Use spacemacs//create-persp-with-home-buffer
for the default action. Add actions for
spacemacs//create-persp-with-current-project-buffers and persp-copy.
(spacemacs//helm-persp-switch-project-action): New function. Switch to the
named perspective and call projectile-switch-project-by-name, using the new
spacemacs||switch-project-persp macro. Bind helm-quit-hook with a hook
that kills the new perspective if the user quits
projectile-switch-project-by-name.
(spacemacs/helm-persp-switch-project): Use
spacemacs//helm-persp-switch-project-action.
(spacemacs//ivy-persp-switch-project-action): New function. Switch to the
named perspective and call counsel-projectile-switch-project-action with a
hook to add the project's buffers to the new perspective.
(spacemacs/ivy-persp-switch-project): Delete advice for
counsel-projectile-switch-project-action. Use
spacemacs//ivy-persp-switch-project-action instead.
(spacemacs//add-project-buffers-to-persp): Deleted.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-persp-mode): Don't add a hook to
persp-created-functions.
helm-swoop cannot detect the buffer has changed when calling git checkout to
change the file content, so helm-swoop won't clear the cache, we have to clear
the cache manually by evaluating `helm-swoop--clear-cache`. As it is
inconvenient, so I introduce a new key binding to to this.
Signed-off-by: Yang Qian <yang.qian@citrix.com>