update packages
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
This is ivy.info, produced by makeinfo version 7.1.1 from ivy.texi.
|
||||
|
||||
Ivy manual, version 0.15.0
|
||||
Ivy manual, version 0.15.1
|
||||
|
||||
Ivy is an interactive interface for completion in Emacs. Emacs uses
|
||||
completion mechanism in a variety of contexts: code, menus, commands,
|
||||
@@ -170,7 +170,7 @@ Customizability
|
||||
Discoverability
|
||||
...............
|
||||
|
||||
Ivy displays easily discoverable commands through the hydra
|
||||
Ivy displays easily discoverable commands through the Hydra
|
||||
facility. ‘C-o’ in the minibuffer displays a hydra menu. It opens
|
||||
up within an expanded minibuffer area. Each menu item comes with
|
||||
short documentation strings and highlighted one-key completions.
|
||||
@@ -234,9 +234,9 @@ File: ivy.info, Node: Installing from the Git repository, Prev: Installing fro
|
||||
Why install from Git?
|
||||
.....................
|
||||
|
||||
• No need to wait for GNU ELPA / MELPA builds
|
||||
• Easy to revert to previous versions
|
||||
• Contribute to Ivy's development; send patches; pull requests
|
||||
• No need to wait for GNU ELPA / MELPA builds.
|
||||
• Easy to revert to previous versions.
|
||||
• Contribute to Ivy's development; send patches; pull requests.
|
||||
|
||||
Configuration steps
|
||||
...................
|
||||
@@ -244,7 +244,7 @@ Configuration steps
|
||||
First clone the Swiper repository with:
|
||||
|
||||
cd ~/git && git clone 'https://github.com/abo-abo/swiper.git'
|
||||
cd swiper && make deps compile
|
||||
cd swiper && make deps all
|
||||
|
||||
Second, add these lines to the Emacs init file:
|
||||
|
||||
@@ -280,13 +280,13 @@ File: ivy.info, Node: Basic customization, Up: Getting started
|
||||
|
||||
Here are some basic settings particularly useful for new Ivy users:
|
||||
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(setq ivy-count-format "(%d/%d) ")
|
||||
(setopt ivy-use-virtual-buffers t)
|
||||
(setopt ivy-count-format "(%d/%d) ")
|
||||
|
||||
If you want, you can go without any customizations at all. The above
|
||||
settings are the most bang for the buck in terms of customization. So
|
||||
users that typically don't like customize a lot are advised to look at
|
||||
these settings first.
|
||||
If you want, you can go without any customizations at all. The
|
||||
settings above give the most bang for the buck in terms of
|
||||
customization. So users that typically don't like customizing a lot are
|
||||
advised to look at these settings first.
|
||||
|
||||
For more advanced customizations, refer to ‘M-x describe-variable’
|
||||
documentation.
|
||||
@@ -308,53 +308,53 @@ File: ivy.info, Node: Global key bindings, Next: Minibuffer key bindings, Up:
|
||||
4.1 Global key bindings
|
||||
=======================
|
||||
|
||||
Here is a list of commands that are useful to be bound globally, along
|
||||
with some sample bindings:
|
||||
Here is a list of commands that are useful to bind globally, along with
|
||||
some sample bindings:
|
||||
|
||||
Ivy-based interface to standard commands
|
||||
........................................
|
||||
|
||||
(global-set-key (kbd "C-s") 'swiper-isearch)
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
(global-set-key (kbd "M-y") 'counsel-yank-pop)
|
||||
(global-set-key (kbd "<f1> f") 'counsel-describe-function)
|
||||
(global-set-key (kbd "<f1> v") 'counsel-describe-variable)
|
||||
(global-set-key (kbd "<f1> l") 'counsel-find-library)
|
||||
(global-set-key (kbd "<f2> i") 'counsel-info-lookup-symbol)
|
||||
(global-set-key (kbd "<f2> u") 'counsel-unicode-char)
|
||||
(global-set-key (kbd "<f2> j") 'counsel-set-variable)
|
||||
(global-set-key (kbd "C-x b") 'ivy-switch-buffer)
|
||||
(global-set-key (kbd "C-c v") 'ivy-push-view)
|
||||
(global-set-key (kbd "C-c V") 'ivy-pop-view)
|
||||
(keymap-global-set "C-s" #'swiper-isearch)
|
||||
(keymap-global-set "M-x" #'counsel-M-x)
|
||||
(keymap-global-set "C-x C-f" #'counsel-find-file)
|
||||
(keymap-global-set "M-y" #'counsel-yank-pop)
|
||||
(keymap-global-set "<f1> f" #'counsel-describe-function)
|
||||
(keymap-global-set "<f1> v" #'counsel-describe-variable)
|
||||
(keymap-global-set "<f1> o" #'counsel-describe-symbol)
|
||||
(keymap-global-set "<f1> l" #'counsel-find-library)
|
||||
(keymap-global-set "<f2> i" #'counsel-info-lookup-symbol)
|
||||
(keymap-global-set "<f2> u" #'counsel-unicode-char)
|
||||
(keymap-global-set "<f2> j" #'counsel-set-variable)
|
||||
(keymap-global-set "C-x b" #'ivy-switch-buffer)
|
||||
(keymap-global-set "C-c v" #'ivy-push-view)
|
||||
(keymap-global-set "C-c V" #'ivy-pop-view)
|
||||
|
||||
Ivy-based interface to shell and system tools
|
||||
.............................................
|
||||
|
||||
(global-set-key (kbd "C-c c") 'counsel-compile)
|
||||
(global-set-key (kbd "C-c g") 'counsel-git)
|
||||
(global-set-key (kbd "C-c j") 'counsel-git-grep)
|
||||
(global-set-key (kbd "C-c L") 'counsel-git-log)
|
||||
(global-set-key (kbd "C-c k") 'counsel-rg)
|
||||
(global-set-key (kbd "C-c m") 'counsel-linux-app)
|
||||
(global-set-key (kbd "C-c n") 'counsel-fzf)
|
||||
(global-set-key (kbd "C-x l") 'counsel-locate)
|
||||
(global-set-key (kbd "C-c J") 'counsel-file-jump)
|
||||
(global-set-key (kbd "C-S-o") 'counsel-rhythmbox)
|
||||
(global-set-key (kbd "C-c w") 'counsel-wmctrl)
|
||||
(keymap-global-set "C-c c" #'counsel-compile)
|
||||
(keymap-global-set "C-c g" #'counsel-git)
|
||||
(keymap-global-set "C-c j" #'counsel-git-grep)
|
||||
(keymap-global-set "C-c L" #'counsel-git-log)
|
||||
(keymap-global-set "C-c k" #'counsel-rg)
|
||||
(keymap-global-set "C-c m" #'counsel-linux-app)
|
||||
(keymap-global-set "C-c n" #'counsel-fzf)
|
||||
(keymap-global-set "C-x l" #'counsel-locate)
|
||||
(keymap-global-set "C-c J" #'counsel-file-jump)
|
||||
(keymap-global-set "C-S-o" #'counsel-rhythmbox)
|
||||
(keymap-global-set "C-c w" #'counsel-wmctrl)
|
||||
|
||||
Ivy-resume and other commands
|
||||
.............................
|
||||
|
||||
‘ivy-resume’ resumes the last Ivy-based completion.
|
||||
|
||||
(global-set-key (kbd "C-c C-r") 'ivy-resume)
|
||||
(global-set-key (kbd "C-c b") 'counsel-bookmark)
|
||||
(global-set-key (kbd "C-c d") 'counsel-descbinds)
|
||||
(global-set-key (kbd "C-c g") 'counsel-git)
|
||||
(global-set-key (kbd "C-c o") 'counsel-outline)
|
||||
(global-set-key (kbd "C-c t") 'counsel-load-theme)
|
||||
(global-set-key (kbd "C-c F") 'counsel-org-file)
|
||||
(keymap-global-set "C-c C-r" #'ivy-resume)
|
||||
(keymap-global-set "C-c b" #'counsel-bookmark)
|
||||
(keymap-global-set "C-c d" #'counsel-descbinds)
|
||||
(keymap-global-set "C-c o" #'counsel-outline)
|
||||
(keymap-global-set "C-c t" #'counsel-load-theme)
|
||||
(keymap-global-set "C-c F" #'counsel-org-file)
|
||||
|
||||
You can also enable ‘counsel-mode’ to make some global key binding
|
||||
remapping for you.
|
||||
@@ -473,12 +473,12 @@ extends usability of lists in Emacs.
|
||||
This is useful e.g. when you call ‘find-file’ to create a new
|
||||
file, but the desired name matches an existing file. In that case,
|
||||
using ‘C-j’ would select that existing file, which isn't what you
|
||||
want - use this command instead.
|
||||
want -- use this command instead.
|
||||
|
||||
‘C-'’ (‘ivy-avy’)
|
||||
.................
|
||||
|
||||
Uses avy to select one of the candidates on the current candidate
|
||||
Uses Avy to select one of the candidates on the current candidate
|
||||
page. This can often be faster than multiple ‘C-n’ or ‘C-p’
|
||||
keystrokes followed by ‘C-m’.
|
||||
|
||||
@@ -515,7 +515,7 @@ that use the ‘ivy-read’ API, rather than the built-in ‘completing-read’.
|
||||
|
||||
For example, during the ‘counsel-rhythmbox’ completion, press
|
||||
‘C-M-o e’ to en-queue the selected candidate, followed by ‘C-n C-m’
|
||||
to play the next candidate - the current action reverts to the
|
||||
to play the next candidate -- the current action reverts to the
|
||||
default one after ‘C-M-o’.
|
||||
|
||||
‘C-M-n’ (‘ivy-next-line-and-call’)
|
||||
@@ -558,8 +558,8 @@ File: ivy.info, Node: Key bindings that alter the minibuffer input, Next: Othe
|
||||
Cycles forward through the Ivy command history.
|
||||
|
||||
Ivy updates an internal history list after each action. When this
|
||||
history list is empty, ‘M-n’ inserts symbol (or URL) at point into
|
||||
the minibuffer.
|
||||
history list is empty, ‘M-n’ inserts the symbol (or URL) at point
|
||||
into the minibuffer.
|
||||
|
||||
‘M-p’ (‘ivy-previous-history-element’)
|
||||
......................................
|
||||
@@ -757,10 +757,10 @@ File: ivy.info, Node: Completion Styles, Next: Customization, Prev: Key bindi
|
||||
5 Completion Styles
|
||||
*******************
|
||||
|
||||
Ivy's completion functions rely on a regex builder - a function that
|
||||
transforms a string input to a string regex. All current candidates
|
||||
simply have to match this regex. Each collection can be assigned its
|
||||
own regex builder by customizing ‘ivy-re-builders-alist’.
|
||||
Ivy's completion functions rely on a regexp builder -- a function that
|
||||
transforms a string input into a string regexp. All current candidates
|
||||
simply have to match this regexp. Each collection can be assigned its
|
||||
own regexp builder by customizing ‘ivy-re-builders-alist’.
|
||||
|
||||
The keys of this alist are collection names, and the values are one
|
||||
of the following:
|
||||
@@ -778,7 +778,7 @@ their own key.
|
||||
(setq ivy-re-builders-alist
|
||||
'((t . ivy--regex-plus)))
|
||||
|
||||
This example shows a custom regex builder assigned to file name
|
||||
This example shows a custom regexp builder assigned to file name
|
||||
completion:
|
||||
|
||||
(setq ivy-re-builders-alist
|
||||
@@ -788,14 +788,14 @@ completion:
|
||||
Here, ‘read-file-name-internal’ is a function that is passed as the
|
||||
second argument to ‘completing-read’ for file name completion.
|
||||
|
||||
The regex builder resolves as follows (in order of priority):
|
||||
The regexp builder resolves as follows (in order of priority):
|
||||
1. ‘re-builder’ argument passed to ‘ivy-read’.
|
||||
2. ‘collection’ argument passed to ‘ivy-read’ is a function and has an
|
||||
entry on ‘ivy-re-builders-alist’.
|
||||
3. ‘caller’ argument passed to ‘ivy-read’ has an entry on
|
||||
entry in ‘ivy-re-builders-alist’.
|
||||
3. ‘caller’ argument passed to ‘ivy-read’ has an entry in
|
||||
‘ivy-re-builders-alist’.
|
||||
4. ‘this-command’ has an entry on ‘ivy-re-builders-alist’.
|
||||
5. ‘t’ has an entry on ‘ivy-re-builders-alist’.
|
||||
4. ‘this-command’ has an entry in ‘ivy-re-builders-alist’.
|
||||
5. ‘t’ has an entry in ‘ivy-re-builders-alist’.
|
||||
6. ‘ivy--regex’.
|
||||
|
||||
* Menu:
|
||||
@@ -813,22 +813,22 @@ File: ivy.info, Node: ivy--regex-plus, Next: ivy--regex-ignore-order, Up: Com
|
||||
‘ivy--regex-plus’ is Ivy's default completion method.
|
||||
|
||||
‘ivy--regex-plus’ matches by splitting the input by spaces and
|
||||
rebuilding it into a regex.
|
||||
rebuilding it into a regexp.
|
||||
|
||||
As the search string is typed in Ivy's minibuffer, it is transformed
|
||||
into valid regex syntax. If the string is ‘"for example"’, it is
|
||||
transformed into
|
||||
into valid regexp syntax. If the string is ‘"for example"’, it is
|
||||
transformed into:
|
||||
|
||||
"\\(for\\).*\\(example\\)"
|
||||
|
||||
which in regex terminology matches ‘"for"’ followed by a wild card
|
||||
which in regexp terminology matches ‘"for"’ followed by a wild card
|
||||
and then ‘"example"’. Note how Ivy uses the space character to build
|
||||
wild cards. To match a literal white space, use an extra space. So to
|
||||
match one space type two spaces, to match two spaces type three spaces,
|
||||
and so on.
|
||||
|
||||
As Ivy transforms typed characters into regex strings, it provides an
|
||||
intuitive feedback through font highlights.
|
||||
As Ivy transforms typed characters into regexp strings, it provides
|
||||
an intuitive feedback through font highlights.
|
||||
|
||||
Ivy supports regexp negation with ‘"!"’. For example, ‘"define key !
|
||||
ivy quit"’ first selects everything matching ‘"define.*key"’, then
|
||||
@@ -838,7 +838,7 @@ regexp.
|
||||
|
||||
Since Ivy treats minibuffer input as a regexp, the standard regexp
|
||||
identifiers work: ‘"^"’, ‘"$"’, ‘"\b"’ or ‘"[a-z]"’. The exceptions are
|
||||
spaces, which translate to ‘".*"’, and ‘"!"’ that signal the beginning
|
||||
spaces, which translate to ‘".*"’, and ‘"!"’, that signals the beginning
|
||||
of a negation group.
|
||||
|
||||
|
||||
@@ -913,18 +913,17 @@ File: ivy.info, Node: Faces, Next: Defcustoms, Up: Customization
|
||||
|
||||
Highlights the "(confirm)" part of the prompt.
|
||||
|
||||
When ‘confirm-nonexistent-file-or-buffer’ set to ‘t’, then
|
||||
confirming non-existent files in ‘ivy-mode’ requires an additional
|
||||
‘RET’.
|
||||
When ‘confirm-nonexistent-file-or-buffer’ is set to ‘t’, confirming
|
||||
non-existent files in ‘ivy-mode’ requires an additional ‘RET’.
|
||||
|
||||
The confirmation prompt will use this face.
|
||||
|
||||
For example:
|
||||
|
||||
(setq confirm-nonexistent-file-or-buffer t)
|
||||
(setopt confirm-nonexistent-file-or-buffer t)
|
||||
|
||||
Then call ‘find-file’, enter "eldorado" and press ‘RET’ - the
|
||||
prompt will be appended with "(confirm)". Press ‘RET’ once more to
|
||||
Then call ‘find-file’, enter "eldorado" and press ‘RET’ -- the
|
||||
prompt will have "(confirm)" appended. Press ‘RET’ once more to
|
||||
confirm, or any key to continue the completion.
|
||||
|
||||
‘ivy-match-required-face’
|
||||
@@ -937,8 +936,8 @@ File: ivy.info, Node: Faces, Next: Defcustoms, Up: Customization
|
||||
constraint.
|
||||
|
||||
For example, call ‘describe-variable’, enter "waldo" and press
|
||||
‘RET’ - "(match required)" is prompted. Press any key for the
|
||||
prompt to disappear.
|
||||
‘RET’ -- "(match required)" is indicated. Press any key for the
|
||||
indication to disappear.
|
||||
|
||||
‘ivy-subdir’
|
||||
............
|
||||
@@ -955,12 +954,12 @@ File: ivy.info, Node: Faces, Next: Defcustoms, Up: Customization
|
||||
|
||||
Highlights virtual buffers when completing buffer names.
|
||||
|
||||
Virtual buffers correspond to bookmarks and recent files list,
|
||||
‘recentf’.
|
||||
Virtual buffers correspond to bookmarks and the recent files list
|
||||
from ‘recentf’.
|
||||
|
||||
Enable virtual buffers with:
|
||||
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(setopt ivy-use-virtual-buffers t)
|
||||
|
||||
‘ivy-modified-buffer’
|
||||
.....................
|
||||
@@ -981,25 +980,25 @@ File: ivy.info, Node: Defcustoms, Next: Actions, Prev: Faces, Up: Customizat
|
||||
==============
|
||||
|
||||
-- User Option: ivy-count-format
|
||||
A string that specifies display of number of candidates and current
|
||||
candidate, if one exists.
|
||||
A string controlling how to display the number of candidates and
|
||||
the current candidate, if one exists.
|
||||
|
||||
The number of matching candidates by default is shown as a right-
|
||||
padded integer value.
|
||||
The number of matching candidates by default is shown as a
|
||||
right-padded integer value.
|
||||
|
||||
To disable showing the number of candidates:
|
||||
|
||||
(setq ivy-count-format "")
|
||||
(setopt ivy-count-format "")
|
||||
|
||||
To also display the current candidate:
|
||||
|
||||
(setq ivy-count-format "(%d/%d) ")
|
||||
(setopt ivy-count-format "(%d/%d) ")
|
||||
|
||||
The ‘format’-style switches this variable uses are described in the
|
||||
‘format’ documentation.
|
||||
|
||||
-- User Option: ivy-display-style
|
||||
Specifies highlighting candidates in the minibuffer.
|
||||
Controls how to highlight candidates in the minibuffer.
|
||||
|
||||
The default setting is ‘fancy’.
|
||||
|
||||
@@ -1011,7 +1010,7 @@ File: ivy.info, Node: Defcustoms, Next: Actions, Prev: Faces, Up: Customizat
|
||||
This is usually the case when there is no text left to delete,
|
||||
i.e., when ‘DEL’ is typed at the beginning of the minibuffer.
|
||||
|
||||
The default behavior is to quit the completion after ‘DEL’ - a
|
||||
The default behavior is to quit the completion after ‘DEL’ -- a
|
||||
handy key to invoke after mistakenly triggering a completion.
|
||||
|
||||
Another common option is ‘ignore’, which does nothing.
|
||||
@@ -1062,9 +1061,9 @@ File: ivy.info, Node: How can different actions be called?, Next: How to modif
|
||||
|
||||
• ‘C-m’ (‘ivy-done’) calls the current action.
|
||||
• ‘M-o’ (‘ivy-dispatching-done’) presents available actions for
|
||||
selection, calls it after selection, and then exits.
|
||||
selection, calls the selected one, and then exits.
|
||||
• ‘C-M-o’ (‘ivy-dispatching-call’) presents available actions for
|
||||
selection, calls it after selection, and then does not exit.
|
||||
selection, calls the selected one, and then does not exit.
|
||||
|
||||
|
||||
File: ivy.info, Node: How to modify the actions list?, Next: Example - add two actions to each command, Prev: How can different actions be called?, Up: Actions
|
||||
@@ -1078,7 +1077,7 @@ all commands at once.
|
||||
|
||||
Usually, the command has only one default action. The convention is
|
||||
to use single letters when selecting a command, and the letter ‘o’ is
|
||||
designated for the default command. This way, ‘M-o o’ should be always
|
||||
designated for the default command. This way, ‘M-o o’ should always be
|
||||
equivalent to ‘C-m’.
|
||||
|
||||
|
||||
@@ -1087,8 +1086,8 @@ File: ivy.info, Node: Example - add two actions to each command, Next: Example
|
||||
6.3.4 Example - add two actions to each command
|
||||
-----------------------------------------------
|
||||
|
||||
The first action inserts the current candidate into the Ivy window - the
|
||||
window from which ‘ivy-read’ was called.
|
||||
The first action inserts the current candidate into the Ivy window --
|
||||
the window from which ‘ivy-read’ was called.
|
||||
|
||||
The second action copies the current candidate to the kill ring.
|
||||
|
||||
@@ -1119,8 +1118,8 @@ File: ivy.info, Node: How to undo adding the two actions, Next: How to add act
|
||||
..........................................
|
||||
|
||||
Since ‘ivy-set-actions’ modifies the internal dictionary with new data,
|
||||
set the extra actions list to ‘nil’ by assigning ‘nil’ value to the ‘t’
|
||||
key as follows:
|
||||
set the extra actions list to ‘nil’ by assigning a ‘nil’ value to the
|
||||
‘t’ key as follows:
|
||||
|
||||
(ivy-set-actions t nil)
|
||||
|
||||
@@ -1177,11 +1176,11 @@ To examine each action with each candidate in a key-efficient way, try:
|
||||
|
||||
• Call ‘my-command-with-3-actions’
|
||||
• Press ‘C-c C-o’ to close the completion window and move to an
|
||||
ivy-occur buffer
|
||||
‘ivy-occur’ buffer
|
||||
• Press ‘kkk’ to move to the first candidate, since the point is most
|
||||
likely at the end of the buffer
|
||||
• Press ‘oo’ to call the first action
|
||||
• Press ‘oj’ and ‘ok’ to call the second and the third actions
|
||||
• Press ‘oj’ and ‘ok’ to call the second and third actions
|
||||
• Press ‘j’ to move to the next candidate
|
||||
• Press ‘oo’, ‘oj’, ‘ok’
|
||||
• Press ‘j’ to move to the next candidate
|
||||
@@ -1203,31 +1202,31 @@ File: ivy.info, Node: Packages, Prev: Actions, Up: Customization
|
||||
‘magit’
|
||||
.......
|
||||
|
||||
Uses ivy by default if Ivy is installed.
|
||||
Uses Ivy by default if Ivy is installed.
|
||||
|
||||
‘find-file-in-project’
|
||||
......................
|
||||
|
||||
Uses ivy by default if Ivy is installed.
|
||||
Uses Ivy by default if Ivy is installed.
|
||||
|
||||
‘projectile’
|
||||
............
|
||||
|
||||
Projectile requires this setting for ivy completion:
|
||||
Projectile requires this setting for Ivy completion:
|
||||
|
||||
(setq projectile-completion-system 'ivy)
|
||||
(setopt projectile-completion-system 'ivy)
|
||||
|
||||
‘helm-make’
|
||||
...........
|
||||
|
||||
Helm-make requires this setting for ivy completion.
|
||||
Helm-make requires this setting for Ivy completion.
|
||||
|
||||
(setq helm-make-completion-method 'ivy)
|
||||
(setopt helm-make-completion-method 'ivy)
|
||||
|
||||
automatically integrated packages
|
||||
.................................
|
||||
|
||||
Ivy re-uses the following packages if they are installed: ‘avy’,
|
||||
Ivy reuses the following packages if they are installed: ‘avy’,
|
||||
‘amx’ or ‘smex’, ‘flx’, and ‘wgrep’.
|
||||
|
||||
|
||||
@@ -1254,7 +1253,7 @@ that work here:
|
||||
‘C-j’ (‘ivy-alt-done’)
|
||||
......................
|
||||
|
||||
On a directory, restarts completion from that directory.
|
||||
On a directory, restart completion from that directory.
|
||||
|
||||
On a file or ‘./’, exit completion with the selected candidate.
|
||||
|
||||
@@ -1283,18 +1282,19 @@ that work here:
|
||||
‘C-M-y’ (‘ivy-insert-current-full’)
|
||||
...................................
|
||||
|
||||
Insert the current full path, in case you want to edit a part of
|
||||
Insert the current full file name, in case you want to edit part of
|
||||
it.
|
||||
|
||||
‘M-r’ (‘ivy-toggle-regexp-quote’)
|
||||
.................................
|
||||
|
||||
Toggle between input as regexp or not.
|
||||
Toggle between input as regexp or plain text.
|
||||
|
||||
Switch to matching literally since file names include ‘.’, which is
|
||||
for matching any char in regexp mode.
|
||||
This can help with matching file names literally, since they often
|
||||
include ‘.’ in their name, which is a special character in regexp
|
||||
mode.
|
||||
-- User Option: ivy-extra-directories
|
||||
Decide if you want to see ‘../’ and ‘./’ during file name
|
||||
Decide whether you want to see ‘../’ and ‘./’ during file name
|
||||
completion.
|
||||
|
||||
Reason to remove: ‘../’ is the same as ‘DEL’.
|
||||
@@ -1339,16 +1339,16 @@ File: ivy.info, Node: Using TRAMP, Up: File Name Completion
|
||||
‘/ C-j’
|
||||
.......
|
||||
|
||||
Move the the local root directory.
|
||||
Move to the local root directory.
|
||||
|
||||
‘~~’
|
||||
....
|
||||
|
||||
Move to the local home directory.
|
||||
|
||||
From any directory, with the empty input, inputting ‘/ssh:’ and
|
||||
pressing ‘C-j’ (or ‘RET’, which is the same thing) completes for host
|
||||
and user names.
|
||||
From any directory, with the empty input, inserting ‘/ssh:’ and
|
||||
pressing ‘C-j’ (or ‘RET’, which is the same thing) completes host and
|
||||
user names.
|
||||
|
||||
For ‘/ssh:user@’ input, completes the domain name.
|
||||
|
||||
@@ -1372,15 +1372,15 @@ File: ivy.info, Node: Buffer Name Completion, Next: Counsel commands, Prev: F
|
||||
==========================
|
||||
|
||||
-- User Option: ivy-use-virtual-buffers
|
||||
When non-nil, add ‘recentf-mode’ and bookmarks to
|
||||
When non-‘nil’, add ‘recentf-mode’ and bookmarks to
|
||||
‘ivy-switch-buffer’ completion candidates.
|
||||
|
||||
Adding this to Emacs init file:
|
||||
Adding this to the Emacs init file:
|
||||
|
||||
(setq ivy-use-virtual-buffers t)
|
||||
(setopt ivy-use-virtual-buffers t)
|
||||
will add additional virtual buffers to the buffers list for recent
|
||||
files. Selecting such virtual buffers, which are highlighted with
|
||||
‘ivy-virtual’ face, will open the corresponding file.
|
||||
‘ivy-virtual’ face, will visit the corresponding file.
|
||||
|
||||
|
||||
File: ivy.info, Node: Counsel commands, Prev: Buffer Name Completion, Up: Commands
|
||||
@@ -1406,10 +1406,9 @@ File: ivy.info, Node: API, Next: Variable Index, Prev: Commands, Up: Top
|
||||
*****
|
||||
|
||||
The main (and only) entry point is the ‘ivy-read’ function. It takes
|
||||
two required arguments and many optional arguments that can be passed by
|
||||
a key. The optional ‘:action’ argument is highly recommended for
|
||||
features such as multi-actions, non-exiting actions, ‘ivy-occur’ and
|
||||
‘ivy-resume’.
|
||||
two required arguments and many optional keyword arguments. The
|
||||
optional ‘:action’ argument is highly recommended for features such as
|
||||
multi-actions, non-exiting actions, ‘ivy-occur’ and ‘ivy-resume’.
|
||||
|
||||
* Menu:
|
||||
|
||||
@@ -1448,14 +1447,14 @@ File: ivy.info, Node: Optional arguments for ivy-read, Next: Example - counsel
|
||||
...........
|
||||
|
||||
Is a function to filter the initial collection. It has to be
|
||||
compatible with ‘all-completions’. Tip: most of the time, it's
|
||||
simpler to just apply this filter to the ‘collection’ argument
|
||||
itself, e.g. ‘(cl-remove-if-not predicate collection)’.
|
||||
compatible with ‘all-completions’. Tip: sometimes it can be
|
||||
simpler to pre-filter the ‘collection’ argument itself, e.g.:
|
||||
‘(cl-remove-if-not predicate collection)’.
|
||||
|
||||
‘require-match’
|
||||
...............
|
||||
|
||||
When set to a non-nil value, input must match one of the
|
||||
When set to a non-‘nil’ value, the input must match one of the
|
||||
candidates. Custom input is not accepted.
|
||||
|
||||
‘initial-input’
|
||||
@@ -1479,10 +1478,10 @@ File: ivy.info, Node: Optional arguments for ivy-read, Next: Example - counsel
|
||||
When set to an integer value, select the candidate with that index
|
||||
value.
|
||||
|
||||
When set to any other non-nil value, select the first candidate
|
||||
When set to any other non-‘nil’ value, select the first candidate
|
||||
matching this value. Comparison is first done with ‘equal’. If
|
||||
this fails, and when applicable, match ‘preselect’ as a regular
|
||||
expression.
|
||||
this fails, and when applicable, ‘preselect’ is interpreted as a
|
||||
regular expression.
|
||||
|
||||
Every time the input becomes empty, the item corresponding to
|
||||
‘preselect’ is selected.
|
||||
@@ -1504,8 +1503,9 @@ File: ivy.info, Node: Optional arguments for ivy-read, Next: Example - counsel
|
||||
‘sort’
|
||||
......
|
||||
|
||||
When non-nil, use ‘ivy-sort-functions-alist’ to sort the collection
|
||||
as long as the collection is not larger than ‘ivy-sort-max-size’.
|
||||
When non-‘nil’, use ‘ivy-sort-functions-alist’ to sort the
|
||||
collection as long as the collection is not larger than
|
||||
‘ivy-sort-max-size’.
|
||||
|
||||
‘action’
|
||||
........
|
||||
@@ -1523,24 +1523,24 @@ File: ivy.info, Node: Optional arguments for ivy-read, Next: Example - counsel
|
||||
‘re-builder’
|
||||
............
|
||||
|
||||
Is a function that takes a string and returns a valid regex. See
|
||||
Is a function that takes a string and returns a valid regexp. See
|
||||
‘Completion Styles’ for details.
|
||||
|
||||
‘matcher’
|
||||
.........
|
||||
|
||||
Is a function that takes a regex string and a list of strings and
|
||||
returns a list of strings matching the regex. Any ordinary Emacs
|
||||
Is a function that takes a regexp string and a list of strings and
|
||||
returns a list of strings matching the regexp. Any ordinary Emacs
|
||||
matching function will suffice, yet finely tuned matching functions
|
||||
can be used. See ‘counsel-find-file’ for an example usage.
|
||||
|
||||
‘dynamic-collection’
|
||||
....................
|
||||
|
||||
When non-nil, ‘collection’ will be used to dynamically generate the
|
||||
candidates each time the input changes, instead of being used once
|
||||
statically with ‘all-completions’ to generate a list of strings.
|
||||
See ‘counsel-locate’ for an example usage.
|
||||
When non-‘nil’, ‘collection’ will be used to dynamically generate
|
||||
the candidates each time the input changes, instead of being used
|
||||
once statically with ‘all-completions’ to generate a list of
|
||||
strings. See ‘counsel-locate’ for an example usage.
|
||||
|
||||
‘caller’
|
||||
........
|
||||
@@ -1558,12 +1558,12 @@ This is a typical example of a function with a non-async collection,
|
||||
which is a collection where all the strings in the collection are known
|
||||
prior to any input from the user.
|
||||
|
||||
Only the first two arguments (along with ‘action’) are essential -
|
||||
Only the first two arguments (along with ‘action’) are essential --
|
||||
the rest of the arguments are for fine-tuning, and could be omitted.
|
||||
|
||||
The ‘action’ argument could also be omitted - but then ‘ivy-read’
|
||||
would do nothing except returning the string result, which you could
|
||||
later use yourself. However, it's recommended that you use the ‘action’
|
||||
The ‘action’ argument could also be omitted -- but then ‘ivy-read’
|
||||
would do nothing except return the string result, which you could later
|
||||
use yourself. However, it's recommended that you use the ‘action’
|
||||
argument.
|
||||
|
||||
(defun counsel-describe-function ()
|
||||
@@ -1581,8 +1581,7 @@ argument.
|
||||
:history 'counsel-describe-symbol-history
|
||||
:require-match t
|
||||
:action (lambda (x)
|
||||
(describe-function
|
||||
(intern x)))
|
||||
(describe-function (intern x)))
|
||||
:caller 'counsel-describe-function))
|
||||
|
||||
Here are the interesting features of the above function, in the order
|
||||
@@ -1593,18 +1592,18 @@ that they appear:
|
||||
• The ‘keymap’ argument is for a custom keymap to supplement
|
||||
‘ivy-minibuffer-map’.
|
||||
• The ‘preselect’ is provided by ‘ivy-thing-at-point’, which returns
|
||||
a symbol near the point. Ivy then selects the first candidate from
|
||||
the collection that matches this symbol. To select this
|
||||
pre-selected candidate, a ‘RET’ will suffice. No further user
|
||||
input is necessary.
|
||||
a symbol near point. Ivy then selects the first candidate from the
|
||||
collection that matches this symbol. To select this preselected
|
||||
candidate, a ‘RET’ will suffice. No further user input is
|
||||
necessary.
|
||||
• The ‘history’ argument is for keeping the history of this command
|
||||
separate from the common history in ‘ivy-history’.
|
||||
• The ‘require-match’ is set to ‘t’ since it doesn't make sense to
|
||||
call ‘describe-function’ on an un-interned symbol.
|
||||
call ‘describe-function’ on an uninterned symbol.
|
||||
• The ‘action’ argument calls ‘describe-function’ on the interned
|
||||
selected candidate.
|
||||
• The ‘caller’ argument identifies this completion session. This is
|
||||
important, since with the collection being a list of strings and
|
||||
important because, with the collection being a list of strings and
|
||||
not a function name, the only other way for ‘ivy-read’ to identify
|
||||
"who's calling" and to apply the appropriate customizations is to
|
||||
examine ‘this-command’. But ‘this-command’ would be modified if
|
||||
@@ -1617,12 +1616,12 @@ File: ivy.info, Node: Example - counsel-locate, Next: Example - ivy-read-with-
|
||||
==============================
|
||||
|
||||
This is a typical example of a function with an async collection. Since
|
||||
the collection function cannot pre-compute all the locatable files in
|
||||
the collection function cannot precompute all the locatable files in
|
||||
memory within reasonable limits (time or memory), it relies on user
|
||||
input to filter the universe of possible candidates to a manageable size
|
||||
while also continuing to search asynchronously for possible candidates.
|
||||
Both the filtering and searching continues with each character change of
|
||||
the input with rapid updates to the collection presented without idle
|
||||
Both filtering and searching continue with each character change in the
|
||||
input with rapid updates to the displayed collection without idle
|
||||
waiting times. This live update will continue as long as there are
|
||||
likely candidates. Eventually updates to the minibuffer will stop after
|
||||
user input, filtering, and searching have exhausted looking for possible
|
||||
@@ -1640,9 +1639,8 @@ narrowing) or select a candidate from the visible collection.
|
||||
(progn
|
||||
(counsel--async-command
|
||||
(format "locate %s '%s'"
|
||||
(mapconcat #'identity counsel-locate-options " ")
|
||||
(counsel--elisp-to-pcre
|
||||
(ivy--regex str))))
|
||||
(string-join counsel-locate-options " ")
|
||||
(counsel--elisp-to-pcre (ivy--regex str))))
|
||||
'("" "working..."))))
|
||||
|
||||
;;;###autoload
|
||||
@@ -1655,8 +1653,8 @@ narrowing) or select a candidate from the visible collection.
|
||||
:dynamic-collection t
|
||||
:history 'counsel-locate-history
|
||||
:action (lambda (file)
|
||||
(with-ivy-window
|
||||
(when file
|
||||
(when file
|
||||
(with-ivy-window
|
||||
(find-file file))))
|
||||
:unwind #'counsel-delete-process
|
||||
:caller 'counsel-locate))
|
||||
@@ -1665,10 +1663,10 @@ narrowing) or select a candidate from the visible collection.
|
||||
order that they appear:
|
||||
|
||||
• ‘counsel-locate-function’ takes a string argument and returns a
|
||||
list of strings. Note that it's not compatible with
|
||||
‘all-completions’, but since we're not using that here, might as
|
||||
list of strings. Note that this is incompatible with
|
||||
‘all-completions’, but since we're not using that here, we might as
|
||||
well use one argument instead of three.
|
||||
• ‘ivy-more-chars’ is a simple function that returns e.g. ‘'("2
|
||||
• ‘ivy-more-chars’ is a simple function that returns, e.g., ‘'("2
|
||||
chars more")’ asking the user for more input.
|
||||
• ‘counsel--async-command’ is a very easy API simplification that
|
||||
takes a single string argument suitable for
|
||||
@@ -1679,10 +1677,10 @@ order that they appear:
|
||||
• ‘counsel-locate’ is an interactive function with an optional
|
||||
‘initial-input’.
|
||||
• ‘#'counsel-locate-function’ is passed as the ‘collection’ argument.
|
||||
• ‘dynamic-collection’ is set to t, since this is an async
|
||||
• ‘dynamic-collection’ is set to ‘t’, since this is an async
|
||||
collection.
|
||||
• ‘action’ argument uses ‘with-ivy-window’ wrapper, since we want to
|
||||
open the selected file in the same window from which
|
||||
• ‘action’ argument uses the ‘with-ivy-window’ wrapper, since we want
|
||||
to open the selected file in the same window from which
|
||||
‘counsel-locate’ was called.
|
||||
• ‘unwind’ argument is set to ‘#'counsel-delete-process’: when we
|
||||
press ‘C-g’ we want to kill the running process created by
|
||||
@@ -1695,10 +1693,10 @@ File: ivy.info, Node: Example - ivy-read-with-extra-properties, Prev: Example
|
||||
8.5 Example - ‘ivy-read-with-extra-properties’
|
||||
==============================================
|
||||
|
||||
This is another example to show how to associate additional values to
|
||||
each displayed strings.
|
||||
This is another example to show how to associate additional values with
|
||||
displayed candidate strings.
|
||||
|
||||
(defun find-candidates-function (str pred _)
|
||||
(defun find-candidates-function (str _pred _)
|
||||
(let ((props '(1 2))
|
||||
(strs '("foo" "foo2")))
|
||||
(cl-mapcar (lambda (s p) (propertize s 'property p))
|
||||
@@ -1749,7 +1747,7 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
* ivy-display-style: Defcustoms. (line 24)
|
||||
* ivy-done: Key bindings for single selection action then exit minibuffer.
|
||||
(line 19)
|
||||
* ivy-extra-directories: File Name Completion. (line 51)
|
||||
* ivy-extra-directories: File Name Completion. (line 52)
|
||||
* ivy-height: Key bindings for navigation.
|
||||
(line 21)
|
||||
* ivy-immediate-done: Key bindings for single selection action then exit minibuffer.
|
||||
@@ -1758,7 +1756,7 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
(line 23)
|
||||
* ivy-insert-current-full: File Name Completion. (line 41)
|
||||
* ivy-kill-ring-save: Other key bindings. (line 9)
|
||||
* ivy-match-required-face: Faces. (line 53)
|
||||
* ivy-match-required-face: Faces. (line 52)
|
||||
* ivy-minibuffer-grow: Hydra in the minibuffer.
|
||||
(line 45)
|
||||
* ivy-minibuffer-map: Minibuffer key bindings.
|
||||
@@ -1769,8 +1767,8 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
* ivy-minibuffer-match-face-4: Faces. (line 29)
|
||||
* ivy-minibuffer-shrink: Hydra in the minibuffer.
|
||||
(line 50)
|
||||
* ivy-modified-buffer: Faces. (line 88)
|
||||
* ivy-modified-outside-buffer: Faces. (line 93)
|
||||
* ivy-modified-buffer: Faces. (line 87)
|
||||
* ivy-modified-outside-buffer: Faces. (line 92)
|
||||
* ivy-next-action: Hydra in the minibuffer.
|
||||
(line 60)
|
||||
* ivy-next-history-element: Key bindings that alter the minibuffer input.
|
||||
@@ -1798,7 +1796,7 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
(line 50)
|
||||
* ivy-read-action: Hydra in the minibuffer.
|
||||
(line 65)
|
||||
* ivy-remote: Faces. (line 71)
|
||||
* ivy-remote: Faces. (line 70)
|
||||
* ivy-restrict-to-matches: Key bindings that alter the minibuffer input.
|
||||
(line 40)
|
||||
* ivy-resume: Key bindings for multiple selections and actions keep minibuffer open.
|
||||
@@ -1807,7 +1805,7 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
(line 48)
|
||||
* ivy-rotate-preferred-builders: Hydra in the minibuffer.
|
||||
(line 40)
|
||||
* ivy-subdir: Faces. (line 66)
|
||||
* ivy-subdir: Faces. (line 65)
|
||||
* ivy-toggle-calling: Hydra in the minibuffer.
|
||||
(line 34)
|
||||
* ivy-toggle-case-fold: Hydra in the minibuffer.
|
||||
@@ -1815,7 +1813,7 @@ File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up:
|
||||
* ivy-toggle-regexp-quote: File Name Completion. (line 47)
|
||||
* ivy-use-virtual-buffers: Buffer Name Completion.
|
||||
(line 6)
|
||||
* ivy-virtual: Faces. (line 76)
|
||||
* ivy-virtual: Faces. (line 75)
|
||||
* ivy-wrap: Key bindings for navigation.
|
||||
(line 14)
|
||||
* ivy-yank-word: Key bindings that alter the minibuffer input.
|
||||
@@ -1921,48 +1919,48 @@ Node: Introduction3101
|
||||
Node: Installation5616
|
||||
Node: Installing from Emacs Package Manager5988
|
||||
Node: Installing from the Git repository7235
|
||||
Node: Getting started8063
|
||||
Node: Basic customization8370
|
||||
Node: Key bindings8963
|
||||
Node: Global key bindings9155
|
||||
Node: Minibuffer key bindings11629
|
||||
Node: Key bindings for navigation12861
|
||||
Node: Key bindings for single selection action then exit minibuffer14068
|
||||
Node: Key bindings for multiple selections and actions keep minibuffer open16750
|
||||
Node: Key bindings that alter the minibuffer input19371
|
||||
Node: Other key bindings21316
|
||||
Node: Hydra in the minibuffer21694
|
||||
Node: Saving the current completion session to a buffer24112
|
||||
Node: Completion Styles25524
|
||||
Node: ivy--regex-plus27278
|
||||
Node: ivy--regex-ignore-order28758
|
||||
Node: ivy--regex-fuzzy29124
|
||||
Node: Customization29615
|
||||
Node: Faces29801
|
||||
Node: Defcustoms32230
|
||||
Node: Getting started8062
|
||||
Node: Basic customization8369
|
||||
Node: Key bindings8969
|
||||
Node: Global key bindings9161
|
||||
Node: Minibuffer key bindings11582
|
||||
Node: Key bindings for navigation12814
|
||||
Node: Key bindings for single selection action then exit minibuffer14021
|
||||
Node: Key bindings for multiple selections and actions keep minibuffer open16704
|
||||
Node: Key bindings that alter the minibuffer input19326
|
||||
Node: Other key bindings21275
|
||||
Node: Hydra in the minibuffer21653
|
||||
Node: Saving the current completion session to a buffer24071
|
||||
Node: Completion Styles25483
|
||||
Node: ivy--regex-plus27246
|
||||
Node: ivy--regex-ignore-order28733
|
||||
Node: ivy--regex-fuzzy29099
|
||||
Node: Customization29590
|
||||
Node: Faces29776
|
||||
Node: Defcustoms32214
|
||||
Node: Actions33554
|
||||
Node: What are actions?33880
|
||||
Node: How can different actions be called?34698
|
||||
Node: How to modify the actions list?35269
|
||||
Node: Example - add two actions to each command35929
|
||||
Node: How to undo adding the two actions36888
|
||||
Node: How to add actions to a specific command37340
|
||||
Node: Example - define a new command with several actions37756
|
||||
Node: Test the above function with ivy-occur38693
|
||||
Node: Packages39535
|
||||
Node: Commands40500
|
||||
Node: File Name Completion40685
|
||||
Node: Using TRAMP42642
|
||||
Node: Buffer Name Completion44144
|
||||
Node: Counsel commands44759
|
||||
Node: API45406
|
||||
Node: Required arguments for ivy-read46004
|
||||
Node: Optional arguments for ivy-read46523
|
||||
Node: Example - counsel-describe-function49943
|
||||
Node: Example - counsel-locate52921
|
||||
Node: Example - ivy-read-with-extra-properties56786
|
||||
Node: Variable Index58064
|
||||
Node: Keystroke Index65188
|
||||
Node: How to modify the actions list?35265
|
||||
Node: Example - add two actions to each command35925
|
||||
Node: How to undo adding the two actions36885
|
||||
Node: How to add actions to a specific command37339
|
||||
Node: Example - define a new command with several actions37755
|
||||
Node: Test the above function with ivy-occur38692
|
||||
Node: Packages39536
|
||||
Node: Commands40504
|
||||
Node: File Name Completion40689
|
||||
Node: Using TRAMP42698
|
||||
Node: Buffer Name Completion44195
|
||||
Node: Counsel commands44823
|
||||
Node: API45470
|
||||
Node: Required arguments for ivy-read46048
|
||||
Node: Optional arguments for ivy-read46567
|
||||
Node: Example - counsel-describe-function50015
|
||||
Node: Example - counsel-locate52960
|
||||
Node: Example - ivy-read-with-extra-properties56805
|
||||
Node: Variable Index58091
|
||||
Node: Keystroke Index65215
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
Reference in New Issue
Block a user