[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/consult e89a5efdba 1/2: README formatting
From: |
ELPA Syncer |
Subject: |
[elpa] externals/consult e89a5efdba 1/2: README formatting |
Date: |
Wed, 14 Jun 2023 06:57:55 -0400 (EDT) |
branch: externals/consult
commit e89a5efdba98ebf4c5deecffcde25b98d37cc23e
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
README formatting
---
README.org | 402 ++++++++++++++++++++++++++++++-------------------------------
1 file changed, 201 insertions(+), 201 deletions(-)
diff --git a/README.org b/README.org
index 55259bfd44..41b90f720a 100644
--- a/README.org
+++ b/README.org
@@ -349,21 +349,21 @@ their descriptions.
may want to create your own commands which search through a predefined set of
info pages, for example:
#+begin_src emacs-lisp
- (defun consult-info-emacs ()
- "Search through Emacs info pages."
- (interactive)
- (consult-info "emacs" "efaq" "elisp" "cl" "compat"))
-
- (defun consult-info-org ()
- "Search through the Org info page."
- (interactive)
- (consult-info "org"))
-
- (defun consult-info-completion ()
- "Search through completion info pages."
- (interactive)
- (consult-info "vertico" "consult" "marginalia" "orderless" "embark"
- "corfu" "cape" "tempel"))
+(defun consult-info-emacs ()
+ "Search through Emacs info pages."
+ (interactive)
+ (consult-info "emacs" "efaq" "elisp" "cl" "compat"))
+
+(defun consult-info-org ()
+ "Search through the Org info page."
+ (interactive)
+ (consult-info "org"))
+
+(defun consult-info-completion ()
+ "Search through completion info pages."
+ (interactive)
+ (consult-info "vertico" "consult" "marginalia" "orderless" "embark"
+ "corfu" "cape" "tempel"))
#+end_src
** Miscellaneous
@@ -385,14 +385,14 @@ their descriptions.
your minibuffer completion UI (e.g., Vertico or Icomplete) will be used for
=completion-at-point=.
#+begin_src emacs-lisp
- ;; Use `consult-completion-in-region' if Vertico is enabled.
- ;; Otherwise use the default `completion--in-region' function.
- (setq completion-in-region-function
- (lambda (&rest args)
- (apply (if vertico-mode
- #'consult-completion-in-region
- #'completion--in-region)
- args)))
+ ;; Use `consult-completion-in-region' if Vertico is enabled.
+ ;; Otherwise use the default `completion--in-region' function.
+ (setq completion-in-region-function
+ (lambda (&rest args)
+ (apply (if vertico-mode
+ #'consult-completion-in-region
+ #'completion--in-region)
+ args)))
#+end_src
Instead of =consult-completion-in-region=, you may prefer to see the
completions directly in the buffer as a small popup. In that case, I
recommend
@@ -454,14 +454,14 @@ your own function or command, you will also need to add
the name of
to be considered.
#+begin_src emacs-lisp
- (consult-customize
- consult-ripgrep consult-git-grep consult-grep
- consult-bookmark consult-recent-file consult-xref
- consult--source-bookmark consult--source-file-register
- consult--source-recent-file consult--source-project-recent-file
- ;; my/command-wrapping-consult ;; disable auto previews inside my command
- :preview-key '(:debounce 0.4 any) ;; Option 1: Delay preview
- ;; :preview-key "M-.") ;; Option 2: Manual preview
+(consult-customize
+ consult-ripgrep consult-git-grep consult-grep
+ consult-bookmark consult-recent-file consult-xref
+ consult--source-bookmark consult--source-file-register
+ consult--source-recent-file consult--source-project-recent-file
+ ;; my/command-wrapping-consult ;; disable auto previews inside my command
+ :preview-key '(:debounce 0.4 any) ;; Option 1: Delay preview
+ ;; :preview-key "M-.") ;; Option 2: Manual preview
#+end_src
In this case one may wonder what the difference is between using an Embark
@@ -476,14 +476,14 @@ without changing the major mode. Delaying the preview is
also useful for
UI experience.
#+begin_src emacs-lisp
- ;; Preview on any key press, but delay 0.5s
- (consult-customize consult-theme :preview-key '(:debounce 0.5 any))
- ;; Preview immediately on M-., on up/down after 0.5s, on any other key after
1s
- (consult-customize consult-theme
- :preview-key
- '("M-."
- :debounce 0.5 "<up>" "<down>"
- :debounce 1 any))
+;; Preview on any key press, but delay 0.5s
+(consult-customize consult-theme :preview-key '(:debounce 0.5 any))
+;; Preview immediately on M-., on up/down after 0.5s, on any other key after 1s
+(consult-customize consult-theme
+ :preview-key
+ '("M-."
+ :debounce 0.5 "<up>" "<down>"
+ :debounce 1 any))
#+end_src
** Narrowing and grouping
@@ -634,10 +634,10 @@ files or bookmarks can result in expensive operations.
However it is possible to
configure a manual preview as follows.
#+begin_src emacs-lisp
- (consult-customize
- consult--source-bookmark consult--source-file-register
- consult--source-recent-file consult--source-project-recent-file
- :preview-key "M-.")
+(consult-customize
+ consult--source-bookmark consult--source-file-register
+ consult--source-recent-file consult--source-project-recent-file
+ :preview-key "M-.")
#+end_src
Sources can be added directly to the =consult-buffer-source= list for
convenience.
@@ -673,28 +673,28 @@ Another useful source lists all Org buffers and lets you
create new ones. One
can create similar sources for other major modes, e.g., for Eshell.
#+begin_src emacs-lisp
- (defvar org-source
- (list :name "Org Buffer"
- :category 'buffer
- :narrow ?o
- :face 'consult-buffer
- :history 'buffer-name-history
- :state #'consult--buffer-state
- :new
- (lambda (name)
- (with-current-buffer (get-buffer-create name)
- (insert "#+title: " name "\n\n")
- (org-mode)
- (consult--buffer-action (current-buffer))))
- :items
- (lambda ()
- (mapcar #'buffer-name
- (seq-filter
- (lambda (x)
- (eq (buffer-local-value 'major-mode x) 'org-mode))
- (buffer-list))))))
-
- (add-to-list 'consult-buffer-sources 'org-source 'append)
+(defvar org-source
+ (list :name "Org Buffer"
+ :category 'buffer
+ :narrow ?o
+ :face 'consult-buffer
+ :history 'buffer-name-history
+ :state #'consult--buffer-state
+ :new
+ (lambda (name)
+ (with-current-buffer (get-buffer-create name)
+ (insert "#+title: " name "\n\n")
+ (org-mode)
+ (consult--buffer-action (current-buffer))))
+ :items
+ (lambda ()
+ (mapcar #'buffer-name
+ (seq-filter
+ (lambda (x)
+ (eq (buffer-local-value 'major-mode x) 'org-mode))
+ (buffer-list))))))
+
+(add-to-list 'consult-buffer-sources 'org-source 'append)
#+end_src
For more details, see the documentation of =consult-buffer= and of the
@@ -774,124 +774,124 @@ convenient tool to manage package configurations.
configuration examples.
#+begin_src emacs-lisp
- ;; Example configuration for Consult
- (use-package consult
- ;; Replace bindings. Lazily loaded due by `use-package'.
- :bind (;; C-c bindings in `mode-specific-map'
- ("C-c M-x" . consult-mode-command)
- ("C-c h" . consult-history)
- ("C-c k" . consult-kmacro)
- ("C-c m" . consult-man)
- ("C-c i" . consult-info)
- ([remap Info-search] . consult-info)
- ;; C-x bindings in `ctl-x-map'
- ("C-x M-:" . consult-complex-command) ;; orig.
repeat-complex-command
- ("C-x b" . consult-buffer) ;; orig. switch-to-buffer
- ("C-x 4 b" . consult-buffer-other-window) ;; orig.
switch-to-buffer-other-window
- ("C-x 5 b" . consult-buffer-other-frame) ;; orig.
switch-to-buffer-other-frame
- ("C-x r b" . consult-bookmark) ;; orig. bookmark-jump
- ("C-x p b" . consult-project-buffer) ;; orig.
project-switch-to-buffer
- ;; Custom M-# bindings for fast register access
- ("M-#" . consult-register-load)
- ("M-'" . consult-register-store) ;; orig.
abbrev-prefix-mark (unrelated)
- ("C-M-#" . consult-register)
- ;; Other custom bindings
- ("M-y" . consult-yank-pop) ;; orig. yank-pop
- ;; M-g bindings in `goto-map'
- ("M-g e" . consult-compile-error)
- ("M-g f" . consult-flymake) ;; Alternative:
consult-flycheck
- ("M-g g" . consult-goto-line) ;; orig. goto-line
- ("M-g M-g" . consult-goto-line) ;; orig. goto-line
- ("M-g o" . consult-outline) ;; Alternative:
consult-org-heading
- ("M-g m" . consult-mark)
- ("M-g k" . consult-global-mark)
- ("M-g i" . consult-imenu)
- ("M-g I" . consult-imenu-multi)
- ;; M-s bindings in `search-map'
- ("M-s d" . consult-find)
- ("M-s D" . consult-locate)
- ("M-s g" . consult-grep)
- ("M-s G" . consult-git-grep)
- ("M-s r" . consult-ripgrep)
- ("M-s l" . consult-line)
- ("M-s L" . consult-line-multi)
- ("M-s k" . consult-keep-lines)
- ("M-s u" . consult-focus-lines)
- ;; Isearch integration
- ("M-s e" . consult-isearch-history)
- :map isearch-mode-map
- ("M-e" . consult-isearch-history) ;; orig.
isearch-edit-string
- ("M-s e" . consult-isearch-history) ;; orig.
isearch-edit-string
- ("M-s l" . consult-line) ;; needed by consult-line
to detect isearch
- ("M-s L" . consult-line-multi) ;; needed by consult-line
to detect isearch
- ;; Minibuffer history
- :map minibuffer-local-map
- ("M-s" . consult-history) ;; orig.
next-matching-history-element
- ("M-r" . consult-history)) ;; orig.
previous-matching-history-element
-
- ;; Enable automatic preview at point in the *Completions* buffer. This is
- ;; relevant when you use the default completion UI.
- :hook (completion-list-mode . consult-preview-at-point-mode)
-
- ;; The :init configuration is always executed (Not lazy)
- :init
-
- ;; Optionally configure the register formatting. This improves the register
- ;; preview for `consult-register', `consult-register-load',
- ;; `consult-register-store' and the Emacs built-ins.
- (setq register-preview-delay 0.5
- register-preview-function #'consult-register-format)
-
- ;; Optionally tweak the register preview window.
- ;; This adds thin lines, sorting and hides the mode line of the window.
- (advice-add #'register-preview :override #'consult-register-window)
-
- ;; Use Consult to select xref locations with preview
- (setq xref-show-xrefs-function #'consult-xref
- xref-show-definitions-function #'consult-xref)
-
- ;; Configure other variables and modes in the :config section,
- ;; after lazily loading the package.
- :config
-
- ;; Optionally configure preview. The default value
- ;; is 'any, such that any key triggers the preview.
- ;; (setq consult-preview-key 'any)
- ;; (setq consult-preview-key "M-.")
- ;; (setq consult-preview-key '("S-<down>" "S-<up>"))
- ;; For some commands and buffer sources it is useful to configure the
- ;; :preview-key on a per-command basis using the `consult-customize' macro.
- (consult-customize
- consult-theme :preview-key '(:debounce 0.2 any)
- consult-ripgrep consult-git-grep consult-grep
- consult-bookmark consult-recent-file consult-xref
- consult--source-bookmark consult--source-file-register
- consult--source-recent-file consult--source-project-recent-file
- ;; :preview-key "M-."
- :preview-key '(:debounce 0.4 any))
-
- ;; Optionally configure the narrowing key.
- ;; Both < and C-+ work reasonably well.
- (setq consult-narrow-key "<") ;; "C-+"
-
- ;; Optionally make narrowing help available in the minibuffer.
- ;; You may want to use `embark-prefix-help-command' or which-key instead.
- ;; (define-key consult-narrow-map (vconcat consult-narrow-key "?")
#'consult-narrow-help)
-
- ;; By default `consult-project-function' uses `project-root' from
project.el.
- ;; Optionally configure a different project root function.
- ;;;; 1. project.el (the default)
- ;; (setq consult-project-function #'consult--default-project--function)
- ;;;; 2. vc.el (vc-root-dir)
- ;; (setq consult-project-function (lambda (_) (vc-root-dir)))
- ;;;; 3. locate-dominating-file
- ;; (setq consult-project-function (lambda (_) (locate-dominating-file "."
".git")))
- ;;;; 4. projectile.el (projectile-project-root)
- ;; (autoload 'projectile-project-root "projectile")
- ;; (setq consult-project-function (lambda (_) (projectile-project-root)))
- ;;;; 5. No project support
- ;; (setq consult-project-function nil)
- )
+;; Example configuration for Consult
+(use-package consult
+ ;; Replace bindings. Lazily loaded due by `use-package'.
+ :bind (;; C-c bindings in `mode-specific-map'
+ ("C-c M-x" . consult-mode-command)
+ ("C-c h" . consult-history)
+ ("C-c k" . consult-kmacro)
+ ("C-c m" . consult-man)
+ ("C-c i" . consult-info)
+ ([remap Info-search] . consult-info)
+ ;; C-x bindings in `ctl-x-map'
+ ("C-x M-:" . consult-complex-command) ;; orig.
repeat-complex-command
+ ("C-x b" . consult-buffer) ;; orig. switch-to-buffer
+ ("C-x 4 b" . consult-buffer-other-window) ;; orig.
switch-to-buffer-other-window
+ ("C-x 5 b" . consult-buffer-other-frame) ;; orig.
switch-to-buffer-other-frame
+ ("C-x r b" . consult-bookmark) ;; orig. bookmark-jump
+ ("C-x p b" . consult-project-buffer) ;; orig.
project-switch-to-buffer
+ ;; Custom M-# bindings for fast register access
+ ("M-#" . consult-register-load)
+ ("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark
(unrelated)
+ ("C-M-#" . consult-register)
+ ;; Other custom bindings
+ ("M-y" . consult-yank-pop) ;; orig. yank-pop
+ ;; M-g bindings in `goto-map'
+ ("M-g e" . consult-compile-error)
+ ("M-g f" . consult-flymake) ;; Alternative:
consult-flycheck
+ ("M-g g" . consult-goto-line) ;; orig. goto-line
+ ("M-g M-g" . consult-goto-line) ;; orig. goto-line
+ ("M-g o" . consult-outline) ;; Alternative:
consult-org-heading
+ ("M-g m" . consult-mark)
+ ("M-g k" . consult-global-mark)
+ ("M-g i" . consult-imenu)
+ ("M-g I" . consult-imenu-multi)
+ ;; M-s bindings in `search-map'
+ ("M-s d" . consult-find)
+ ("M-s D" . consult-locate)
+ ("M-s g" . consult-grep)
+ ("M-s G" . consult-git-grep)
+ ("M-s r" . consult-ripgrep)
+ ("M-s l" . consult-line)
+ ("M-s L" . consult-line-multi)
+ ("M-s k" . consult-keep-lines)
+ ("M-s u" . consult-focus-lines)
+ ;; Isearch integration
+ ("M-s e" . consult-isearch-history)
+ :map isearch-mode-map
+ ("M-e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s e" . consult-isearch-history) ;; orig. isearch-edit-string
+ ("M-s l" . consult-line) ;; needed by consult-line
to detect isearch
+ ("M-s L" . consult-line-multi) ;; needed by consult-line
to detect isearch
+ ;; Minibuffer history
+ :map minibuffer-local-map
+ ("M-s" . consult-history) ;; orig.
next-matching-history-element
+ ("M-r" . consult-history)) ;; orig.
previous-matching-history-element
+
+ ;; Enable automatic preview at point in the *Completions* buffer. This is
+ ;; relevant when you use the default completion UI.
+ :hook (completion-list-mode . consult-preview-at-point-mode)
+
+ ;; The :init configuration is always executed (Not lazy)
+ :init
+
+ ;; Optionally configure the register formatting. This improves the register
+ ;; preview for `consult-register', `consult-register-load',
+ ;; `consult-register-store' and the Emacs built-ins.
+ (setq register-preview-delay 0.5
+ register-preview-function #'consult-register-format)
+
+ ;; Optionally tweak the register preview window.
+ ;; This adds thin lines, sorting and hides the mode line of the window.
+ (advice-add #'register-preview :override #'consult-register-window)
+
+ ;; Use Consult to select xref locations with preview
+ (setq xref-show-xrefs-function #'consult-xref
+ xref-show-definitions-function #'consult-xref)
+
+ ;; Configure other variables and modes in the :config section,
+ ;; after lazily loading the package.
+ :config
+
+ ;; Optionally configure preview. The default value
+ ;; is 'any, such that any key triggers the preview.
+ ;; (setq consult-preview-key 'any)
+ ;; (setq consult-preview-key "M-.")
+ ;; (setq consult-preview-key '("S-<down>" "S-<up>"))
+ ;; For some commands and buffer sources it is useful to configure the
+ ;; :preview-key on a per-command basis using the `consult-customize' macro.
+ (consult-customize
+ consult-theme :preview-key '(:debounce 0.2 any)
+ consult-ripgrep consult-git-grep consult-grep
+ consult-bookmark consult-recent-file consult-xref
+ consult--source-bookmark consult--source-file-register
+ consult--source-recent-file consult--source-project-recent-file
+ ;; :preview-key "M-."
+ :preview-key '(:debounce 0.4 any))
+
+ ;; Optionally configure the narrowing key.
+ ;; Both < and C-+ work reasonably well.
+ (setq consult-narrow-key "<") ;; "C-+"
+
+ ;; Optionally make narrowing help available in the minibuffer.
+ ;; You may want to use `embark-prefix-help-command' or which-key instead.
+ ;; (define-key consult-narrow-map (vconcat consult-narrow-key "?")
#'consult-narrow-help)
+
+ ;; By default `consult-project-function' uses `project-root' from project.el.
+ ;; Optionally configure a different project root function.
+ ;;;; 1. project.el (the default)
+ ;; (setq consult-project-function #'consult--default-project--function)
+ ;;;; 2. vc.el (vc-root-dir)
+ ;; (setq consult-project-function (lambda (_) (vc-root-dir)))
+ ;;;; 3. locate-dominating-file
+ ;; (setq consult-project-function (lambda (_) (locate-dominating-file "."
".git")))
+ ;;;; 4. projectile.el (projectile-project-root)
+ ;; (autoload 'projectile-project-root "projectile")
+ ;; (setq consult-project-function (lambda (_) (projectile-project-root)))
+ ;;;; 5. No project support
+ ;; (setq consult-project-function nil)
+)
#+end_src
** Custom variables
@@ -975,17 +975,17 @@ Useful options are:
- =:inherit-input-method= set to non-nil to inherit the input method.
#+begin_src emacs-lisp
- (consult-customize
- ;; Disable preview for `consult-theme' completely.
- consult-theme :preview-key nil
- ;; Set preview for `consult-buffer' to key `M-.'
- consult-buffer :preview-key "M-."
- ;; For `consult-line' change the prompt and specify multiple preview
- ;; keybindings. Note that you should bind <S-up> and <S-down> in the
- ;; `minibuffer-local-completion-map' or `vertico-map' to the commands which
- ;; select the previous or next candidate.
- consult-line :prompt "Search: "
- :preview-key '("S-<down>" "S-<up>"))
+(consult-customize
+ ;; Disable preview for `consult-theme' completely.
+ consult-theme :preview-key nil
+ ;; Set preview for `consult-buffer' to key `M-.'
+ consult-buffer :preview-key "M-."
+ ;; For `consult-line' change the prompt and specify multiple preview
+ ;; keybindings. Note that you should bind <S-up> and <S-down> in the
+ ;; `minibuffer-local-completion-map' or `vertico-map' to the commands which
+ ;; select the previous or next candidate.
+ consult-line :prompt "Search: "
+ :preview-key '("S-<down>" "S-<up>"))
#+end_src
The configuration values are evaluated at runtime, just before the completion
@@ -993,15 +993,15 @@ session is started. Therefore you can use for example
=thing-at-point= to adjust
the initial input or the future history.
#+begin_src emacs-lisp
- (consult-customize
- consult-line
- :add-history (seq-some #'thing-at-point '(region symbol)))
+(consult-customize
+ consult-line
+ :add-history (seq-some #'thing-at-point '(region symbol)))
- (defalias 'consult-line-thing-at-point 'consult-line)
+(defalias 'consult-line-thing-at-point 'consult-line)
- (consult-customize
- consult-line-thing-at-point
- :initial (thing-at-point 'symbol))
+(consult-customize
+ consult-line-thing-at-point
+ :initial (thing-at-point 'symbol))
#+end_src
Generally it is possible to modify commands for your individual needs by the