Commit graph

43 commits

Author SHA1 Message Date
Daniel Nicolai
2cdb535d04 Fix counsel find-file functions to use Spacemacs large file check
By default Ivy uses `find-file` which uses Emacs `abort-if-file-too-large`
function to check/warn before opening large files. That function however does
not take into account Spacemacs its `spacemacs-large-file-modes-list`. Instead
ivy should use `find-file-noselect` to skip Emacs it large file warning and let
it to Spacemacs its `spacemacs/check-large-file` function. Additionally [Emacs
tips on
comments](https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html)
recommends to use 3 semicolons for comments that function as headings.
2020-10-15 23:08:05 +02:00
Daniel Nicolai
4acea82f7b Replace spacemacs/swiper with better native swiper functions
Spacemacs uses spacemacs/swiper functions that use the less sophisticated
spacemacs//counsel-current-region-or-symbol instead of ivy's native
ivy-thing-at-point function. This commit removes those spacemacs functions and
rebinds the shortcuts to their better native equivalents.
2020-10-04 11:16:10 +02:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
duianto
96438694f4
[base] Add cl- prefix to letf and letf*
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
2020-02-08 09:17:52 +00:00
Nikita Leshenko
aaa11a6823 Convert case' to cl-case' to fix cl-lib related errors
Broken since PR #13059
2019-12-18 12:08:05 +01:00
madand
194de4d73a
[ivy] Fix visual selection expansion across the buffer on SPC s S
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.
2019-12-15 15:17:21 +01:00
Spenser Truex
05fb56bfbf Remove uses of lexical-let, part of the deprecated cl package
These prevented loading, a serious bug.
2019-12-15 08:45:27 +01:00
madand
fd184bb94f Fix spacemacs/counsel-search with ag and rg
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
2019-11-24 22:07:17 +01:00
Carlos Ibáñez
6ca42efe7c Fix wrong initial directory 2019-11-18 15:32:25 +01:00
Hong Xu
5cd73edd1d Use string= instead of eq when comparing strings.
This is a follow-up of #12885, in which I used the wrong operator.
2019-11-06 10:07:50 +01:00
Hong Xu
9c613b8770 Optimize =spacemacs/counsel-search= for =ag= and =rg=
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.
2019-11-05 16:40:27 +01:00
duianto
b837c1d397 [ivy] remove boundp check
Thanks yuhan0 for the suggestion
https://github.com/syl20bnr/spacemacs/pull/12865/files#r340909922
2019-10-31 10:55:23 +01:00
Carlos Ibáñez
0b0203e03f Fix git-grep on point 2019-10-27 12:59:06 +01:00
Carlos Ibáñez
cb99bf9f39 Fix broken ivy-occur 2019-10-27 12:59:06 +01:00
duianto
98e7bf38ad [ivy] Rename counsel-more-chars to ivy-more-chars
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
2019-10-14 10:34:19 +02:00
Miciah Masters
322528ca8d spacemacs-layouts: Fix adding buffers to new persp
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.
2019-05-13 17:11:27 +02:00
yuhan0
85c491384d Display results count properly in prompt
Fixes bug where counsel search "SPC /" displays a "%-4d" string in the prompt
2019-04-05 19:07:09 +02:00
yuhan0
3aa9ec48ba Standardize indentation in ivy/funcs.el 2019-04-05 19:07:09 +02:00
Aaron Jensen
2c28c7d219 ivy: Fix counsel search
This function was renamed upstream:
58bf1b94c8
2018-12-28 15:20:29 +00:00
John Lee
9d2a1085ee Fix key bindings for wgrep
The problem was not with the existing bindings, but rather:

1. C-x C-e (spacemacs//counsel-edit -- from an ivy completion session) would
land you in an ivy-occur buffer with wgrep enabled but in motion state.  This
meant the spacemacs key bindings for wgrep were not available.  In particular,
the usual routine is:

* (enter ivy completion session, e.g. with SPC s a P)
* C-c C-e
* edit the buffer as needed
* , , (wgrep-finish-edit)
* , s wgrep-save-all-buffers

2. That last binding (, s) was not there.

One issue is that , s is available before wgrep-finish-edit is called, which is
confusing because I don't think it has any useful function at that point in
time.
2018-08-21 23:52:22 +03:00
bmag
2f50f28419 Fix typo 2018-07-15 08:21:46 +03:00
Kalle Lindqvist
dfd309a77b ivy: improve jumping in buffer 2018-07-15 08:18:35 +03:00
bmag
e109777f8b spacemacs/ivy--regex-plus: fix documentation 2018-07-14 22:52:25 +03:00
ivasonn
d2dab66724 search highlighting (spacemacs/counsel-search) with ivy--regex-plus
spacemacs//ivy--regex-plus is a replacement for ivy--regex-plus in user
configurations.
2018-07-14 22:46:08 +03:00
bmag
e63a9c05bd counsel-search: fix counsel-more-chars call
counsel-more-chars changed upstream to take no arguments, so we change our call.
2018-07-14 22:46:08 +03:00
Miciah
1c78348ee6 ivy: Fix error on nil input with counsel search
Fix issue #6499: SPC m (spacemacs/search-project-auto-region-or-symbol) on
a blank line causes an error:

    rxt-string->pcre: Wrong type argument: arrayp, nil

* layers/+completion/ivy/funcs.el (spacemacs/counsel-search): Check whether
initial-input is nil in order to avoid calling rxt-quote-pcre on a nil
value.
2018-07-09 23:29:16 +03:00
Ayush Goyal
d3bb27cbab Fix spacemacs/swiper-all-region-or-symbol function
spacemacs/swiper-all-region-or-symbol function doesn't work. This is probably
due to using old swiper api which has changed.
2018-03-03 15:02:21 +02:00
Chirantan Ekbote
759a65cb71 Replace counsel--git-dir with (ivy-state-directory ivy-last)
abo-abo/swiper@4f57b5a9 removed the counsel--git-dir variable.  Code
that used that variable is now expected to use (ivy-state-directory
ivy-last) instead.  Update the code to reflect this change.

Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
2018-01-06 22:49:03 -05:00
syl20bnr
14b206492b ivy: use post-init to add hook for org-ctrl-c-ctrl-c 2018-01-06 11:51:19 -05:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
bmag
84751cbc53 counsel: rename git dir variable
counsel--git-grep-dir was renamed upstream to counsel--git-dir.
2017-09-10 19:54:33 +03:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Eivind Fonn
ebc6ba015e Implement directory search for ivy as well 2017-07-01 12:41:26 +02:00
syl20bnr
fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
Aaron Jensen
10c59bb142
ivy: Add C-c C-e to edit counsel-ag search results 2017-01-04 19:26:33 +02:00
Aron Griffis
385c12743a Add ripgrep support
* Add rg to helm completion layer
* Add rg to ivy layer
* Prepend rg to dotspacemacs-search-tools
* Add rg to documentation
2016-11-11 15:22:03 +02:00
syl20bnr
703f78c2b8 Cleanup pass on file spacemacs-base/funcs.el
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
  core/core-funcs.el
- Remove unused functions

Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
2016-10-09 13:14:41 -04:00
Eivind Fonn
2a6ffc72d9 ivy: Support GNE
Implement a keymap for Spacemacs’ counsel search that supports saving
the results to a buffer (bound on F3 as in helm). Ensure that the new
buffer supports the GNE API.
2016-06-18 19:21:26 -04:00
syl20bnr
f5799ab1ec ahs: move b, f and / key bindings to helm and ivy
Correctly augment the docstring based on the presence of b,f and /
bindings using dynamic hint.
b,f and / are not available if none of helm or ivy layers are used.
2016-06-09 22:50:24 -04:00
ralesi
2a07a7fd76 Add custom evil-register listing with ivy. 2016-06-09 21:27:30 -04:00
syl20bnr
8f45a94095 ivy: perspective -> persp-mode and layout
Fix wrong package name.
Replace `perspective` words by `layout`
2016-05-31 23:39:47 -04:00
ralesi
1ef6f10643 Provide custom actions for ivy and counsel-search 2016-05-31 23:26:21 -04:00
syl20bnr
1f993bddf6 Rename spacemacs-helm and spacemacs-ivy layers to helm and ivy
For ivy users: be sure to update your dotfile by replacing spacemacs-ivy
by ivy
2016-05-15 22:24:27 -04:00
Renamed from layers/+completion/spacemacs-ivy/funcs.el (Browse further)