Tweak some (mostly search-map) bindings
This commit is contained in:
parent
4c40984592
commit
f6fa8eb06b
|
@ -1,6 +1,7 @@
|
|||
;;; init-completion.el --- Completion Configuration File -*- lexical-binding: t -*-
|
||||
;;; Commentary:
|
||||
;; Config for completion-at-point (corfu) and minibuffer (vertico, embark, consult, etc)
|
||||
;; Most of it is taken from the READMEs and wikis of those packages
|
||||
;;; Code:
|
||||
|
||||
(use-package dabbrev
|
||||
|
@ -205,6 +206,10 @@
|
|||
;; Other custom bindings
|
||||
("C-S-s" . consult-line)
|
||||
("M-*" . consult-line-symbol-at-point)
|
||||
("C-c f" . consult-recent-file)
|
||||
("C-c r" . consult-ripgrep)
|
||||
("C-c R" . consult-ripgrep-auto-preview)
|
||||
("C-c *" . consult-ripgrep-symbol-at-point)
|
||||
("M-y" . consult-yank-pop) ;; orig. yank-pop
|
||||
("<help> a" . consult-apropos) ;; orig. apropos-command
|
||||
;; M-g bindings (goto-map)
|
||||
|
@ -217,30 +222,10 @@
|
|||
("M-g k" . consult-global-mark)
|
||||
("M-g i" . consult-imenu)
|
||||
("M-g I" . consult-project-imenu)
|
||||
;; (Mostly) C-c c bindings (search-map)
|
||||
("C-c f" . consult-recent-file)
|
||||
("C-c c f" . consult-find)
|
||||
("C-c c L" . consult-locate)
|
||||
("C-c c g" . consult-grep)
|
||||
("C-c c G" . consult-git-grep)
|
||||
("C-c c r" . consult-ripgrep)
|
||||
("C-c r" . consult-ripgrep)
|
||||
("C-c c R" . consult-ripgrep-auto-preview)
|
||||
("C-c R" . consult-ripgrep-auto-preview)
|
||||
("C-c c M-r" . consult-ripgrep-unrestricted)
|
||||
("C-c c *" . consult-ripgrep-symbol-at-point)
|
||||
("C-c *" . consult-ripgrep-symbol-at-point)
|
||||
("C-c c z" . consult-z-ripgrep)
|
||||
("C-c c l" . consult-line)
|
||||
("C-c c m" . consult-multi-occur)
|
||||
("C-c c k" . consult-keep-lines)
|
||||
("C-c c u" . consult-focus-lines)
|
||||
;; Isearch integration
|
||||
("C-c c e" . consult-isearch)
|
||||
:map isearch-mode-map
|
||||
("M-e" . consult-isearch) ;; orig. isearch-edit-string
|
||||
("C-c c e" . consult-isearch) ;; orig. isearch-edit-string
|
||||
("C-c c l" . consult-line)) ;; needed by consult-line to detect isearch
|
||||
("M-s e" . consult-isearch) ;; orig. isearch-edit-string
|
||||
("M-s l" . consult-line)) ;; needed by consult-line to detect isearch
|
||||
|
||||
:init
|
||||
|
||||
|
@ -263,6 +248,46 @@
|
|||
|
||||
:config
|
||||
|
||||
(defun consult-ripgrep-symbol-at-point (&optional dir initial)
|
||||
(interactive
|
||||
(list prefix-arg (when-let ((s (symbol-at-point)))
|
||||
(symbol-name s))))
|
||||
(consult-ripgrep dir initial))
|
||||
(defun consult-ripgrep-auto-preview (&optional dir initial)
|
||||
(interactive "P")
|
||||
(consult-ripgrep dir initial))
|
||||
(defun consult-ripgrep-unrestricted (&optional dir initial)
|
||||
(interactive "P")
|
||||
(let ((consult-ripgrep-args (replace-regexp-in-string "\\." "-uu ." consult-ripgrep-args)))
|
||||
(consult-ripgrep dir initial)))
|
||||
(defun consult-z-ripgrep (&optional dir initial)
|
||||
(interactive "P")
|
||||
(let ((consult-ripgrep-args (replace-regexp-in-string "\\." "-z ." consult-ripgrep-args)))
|
||||
(consult-ripgrep dir initial)))
|
||||
(defun consult-buffer-no-preview ()
|
||||
(interactive)
|
||||
(consult-buffer))
|
||||
(defun consult-line-symbol-at-point ()
|
||||
(interactive)
|
||||
(consult-line (thing-at-point 'symbol)))
|
||||
|
||||
;; Add these here, as we have two bindings for search map (M-s and C-c s)
|
||||
(define-key search-map "f" 'consult-find)
|
||||
(define-key search-map "F" 'consult-locate)
|
||||
(define-key search-map "g" 'consult-grep)
|
||||
(define-key search-map "G" 'consult-git-grep)
|
||||
(define-key search-map "r" 'consult-ripgrep)
|
||||
(define-key search-map "R" 'consult-ripgrep-auto-preview)
|
||||
(define-key search-map "M-r" 'consult-ripgrep-unrestricted)
|
||||
(define-key search-map "*" 'consult-ripgrep-symbol-at-point)
|
||||
(define-key search-map "z" 'consult-z-ripgrep)
|
||||
(define-key search-map "l" 'consult-line)
|
||||
(define-key search-map "L" 'consult-line-multi)
|
||||
(define-key search-map "m" 'consult-multi-occur)
|
||||
(define-key search-map "k" 'consult-keep-lines)
|
||||
(define-key search-map "u" 'consult-focus-lines)
|
||||
(define-key search-map "e" 'consult-isearch)
|
||||
|
||||
;; Optionally configure preview. The default value
|
||||
;; is 'any, such that any key triggers the preview.
|
||||
;; (setq consult-preview-key 'any)
|
||||
|
@ -307,36 +332,12 @@
|
|||
(cons
|
||||
(mapcar (lambda (r) (consult--convert-regexp r type)) input)
|
||||
(lambda (str) (orderless--highlight input str))))
|
||||
;; (setq consult--regexp-compiler #'consult--orderless-regexp-compiler)
|
||||
(defun consult--with-orderless (&rest args)
|
||||
(minibuffer-with-setup-hook
|
||||
(lambda ()
|
||||
(setq-local consult--regexp-compiler #'consult--orderless-regexp-compiler))
|
||||
(apply args)))
|
||||
(advice-add #'consult-ripgrep :around #'consult--with-orderless)
|
||||
|
||||
(defun consult-ripgrep-symbol-at-point (&optional dir initial)
|
||||
(interactive
|
||||
(list prefix-arg (when-let ((s (symbol-at-point)))
|
||||
(symbol-name s))))
|
||||
(consult-ripgrep dir initial))
|
||||
(defun consult-ripgrep-auto-preview (&optional dir initial)
|
||||
(interactive "P")
|
||||
(consult-ripgrep dir initial))
|
||||
(defun consult-ripgrep-unrestricted (&optional dir initial)
|
||||
(interactive "P")
|
||||
(let ((consult-ripgrep-args (replace-regexp-in-string "\\." "-uu ." consult-ripgrep-args)))
|
||||
(consult-ripgrep dir initial)))
|
||||
(defun consult-z-ripgrep (&optional dir initial)
|
||||
(interactive "P")
|
||||
(let ((consult-ripgrep-args (replace-regexp-in-string "\\." "-z ." consult-ripgrep-args)))
|
||||
(consult-ripgrep dir initial)))
|
||||
(defun consult-buffer-no-preview ()
|
||||
(interactive)
|
||||
(consult-buffer))
|
||||
(defun consult-line-symbol-at-point ()
|
||||
(interactive)
|
||||
(consult-line (thing-at-point 'symbol))))
|
||||
(advice-add #'consult-ripgrep :around #'consult--with-orderless))
|
||||
|
||||
(use-package consult-flycheck)
|
||||
|
||||
|
@ -369,6 +370,8 @@
|
|||
(use-package embark
|
||||
:bind
|
||||
(("C-," . embark-act)
|
||||
;; CIDER will override M-. so have two bindings for this
|
||||
("M-." . embark-dwim)
|
||||
("C-." . embark-dwim)
|
||||
("C-c C-o" . embark-export)
|
||||
("C-h b" . embark-bindings)
|
||||
|
|
Loading…
Reference in New Issue