Ch ch ch changes
This commit is contained in:
parent
6ffc1e7e42
commit
0495456fb9
13
init.el
13
init.el
|
@ -920,7 +920,7 @@
|
||||||
(comint-mode-map . comint-mode-hook)
|
(comint-mode-map . comint-mode-hook)
|
||||||
(sly-mrepl-mode-map . sly-mrepl-hook)))
|
(sly-mrepl-mode-map . sly-mrepl-hook)))
|
||||||
(with-eval-after-load 'orderless
|
(with-eval-after-load 'orderless
|
||||||
(:option consult--regexp-compiler 'consult--orderless-regexp-compiler))))
|
(:option consult--regexp-compiler #'consult--orderless-regexp-compiler))))
|
||||||
|
|
||||||
(setup (:straight consult-dir)
|
(setup (:straight consult-dir)
|
||||||
(:+key "C-x C-d" #'consult-dir)
|
(:+key "C-x C-d" #'consult-dir)
|
||||||
|
@ -1278,7 +1278,16 @@ See also `crux-reopen-as-root-mode'."
|
||||||
"C-e" #'mwim-end))
|
"C-e" #'mwim-end))
|
||||||
|
|
||||||
(setup (:straight orderless)
|
(setup (:straight orderless)
|
||||||
(:option completion-styles '(orderless)))
|
(:also-load +orderless)
|
||||||
|
(:option completion-styles '(substring orderless basic)
|
||||||
|
completion-category-defaults nil
|
||||||
|
completion-category-overrides
|
||||||
|
'((file (styles partial-completion))
|
||||||
|
(command (styles +orderless-with-initialism))
|
||||||
|
(variable (styles +orderless-with-initialism))
|
||||||
|
(symbol (styles +orderless-with-initialism)))
|
||||||
|
orderless-component-separator #'orderless-escapable-split-on-space
|
||||||
|
orderless-style-dispatchers '(+orderless-dispatch)))
|
||||||
|
|
||||||
(setup (:straight org-appear)
|
(setup (:straight org-appear)
|
||||||
(:option org-appear-autoemphasis t
|
(:option org-appear-autoemphasis t
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
(defun +consult-project-root ()
|
(defun +consult-project-root ()
|
||||||
"Return either the current project, or the VC root, of current file."
|
"Return either the current project, or the VC root, of current file."
|
||||||
(if (and (functionp 'project-current)
|
(if (and (functionp 'project-current)
|
||||||
(project-current))
|
(project-current))
|
||||||
(car (project-roots (project-current)))
|
(car (project-roots (project-current)))
|
||||||
(vc-root-dir)))
|
(vc-root-dir)))
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
|
|
||||||
(defun +eww-bookmark-setup ()
|
(defun +eww-bookmark-setup ()
|
||||||
"Setup eww bookmark integration."
|
"Setup eww bookmark integration."
|
||||||
(setq-local bookmark-make-record-function #'eww-bookmark--make))
|
(setq-local bookmark-make-record-function #'+eww-bookmark--make))
|
||||||
|
|
||||||
(provide '+eww)
|
(provide '+eww)
|
||||||
;;; +eww.el ends here
|
;;; +eww.el ends here
|
||||||
|
|
|
@ -80,12 +80,17 @@ are sorted lexigraphically."
|
||||||
(defun +init-add-setup-to-imenu ()
|
(defun +init-add-setup-to-imenu ()
|
||||||
"Recognize `setup' forms in `imenu'."
|
"Recognize `setup' forms in `imenu'."
|
||||||
;; `imenu-generic-expression' automatically becomes buffer-local when set
|
;; `imenu-generic-expression' automatically becomes buffer-local when set
|
||||||
(setf (alist-get "Setup" imenu-generic-expression nil nil 'string-equal)
|
(setf (alist-get "Setup" imenu-generic-expression nil nil #'equal)
|
||||||
(list
|
(list
|
||||||
(rx (: bol (* space)
|
(rx (: "(setup" (+ space)
|
||||||
"(setup" (+ space)
|
(group (? "(") (* nonl))))
|
||||||
(group (? "(") (* nonl))))
|
1))
|
||||||
1)))
|
(when (boundp 'consult-imenu-config)
|
||||||
|
(setf (alist-get ?s
|
||||||
|
(plist-get
|
||||||
|
(alist-get 'emacs-lisp-mode consult-imenu-config)
|
||||||
|
:types))
|
||||||
|
'("Setup"))))
|
||||||
|
|
||||||
;;; Major mode
|
;;; Major mode
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
;;; +orderless.el --- Mostly from minad -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; See https://github.com/minad/consult/wiki#minads-orderless-configuration
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(require 'orderless)
|
||||||
|
|
||||||
|
;;; Dispataching
|
||||||
|
|
||||||
|
(defvar +orderless-dispatch-alist '((?% . char-fold-to-regexp)
|
||||||
|
(?! . orderless-without-literal)
|
||||||
|
(?` . orderless-initialism)
|
||||||
|
(?= . orderless-literal)
|
||||||
|
(?~ . orderless-flex))
|
||||||
|
"Charcters to dispatch styles on orderless segments.")
|
||||||
|
|
||||||
|
(defun +orderless-dispatch (pattern index _total)
|
||||||
|
"Dispatch orderless segments of a search string.
|
||||||
|
Dispatchers are taken from `+orderless-dispatch-alist', and added
|
||||||
|
to the following defaults:
|
||||||
|
|
||||||
|
- regexp$ :: matches REGEXP at the end of the pattern.
|
||||||
|
- .ext :: matches EXT (at end of pattern)
|
||||||
|
|
||||||
|
Dispatch characters can be added at the beginning or ending of a
|
||||||
|
segment to make that segment match accordingly."
|
||||||
|
(cond
|
||||||
|
;; Ensure that $ works with Consult commands, which add disambiguation
|
||||||
|
;; suffixes
|
||||||
|
((string-suffix-p "$" pattern)
|
||||||
|
(cons 'orderless-regexp
|
||||||
|
(concat (substring pattern 0 -1) "[\x100000-\x10FFFD]*$")))
|
||||||
|
;; File extensions
|
||||||
|
((and
|
||||||
|
;; Completing filename or eshell
|
||||||
|
(or minibuffer-completing-file-name
|
||||||
|
(derived-mode-p 'eshell-mode))
|
||||||
|
;; File extension
|
||||||
|
(string-match-p "\\`\\.." pattern))
|
||||||
|
(cons orderless-regexp
|
||||||
|
(concat "\\." (substring pattern 1) "[\x100000-\x10FFFD]*$")))
|
||||||
|
;; Ignore single !
|
||||||
|
((string= "!" pattern) `(orderless-literal . ""))
|
||||||
|
;; Prefix and suffix
|
||||||
|
((if-let (x (assq (aref pattern 0) +orderless-dispatch-alist))
|
||||||
|
(cons (cdr x) (substring pattern 1))
|
||||||
|
(when-let (x (assq (aref pattern (1- (length pattern)))
|
||||||
|
+orderless-dispatch-alist))
|
||||||
|
(cons (cdr x) (substring pattern 0 -1)))))))
|
||||||
|
|
||||||
|
(orderless-define-completion-style +orderless-with-initialism
|
||||||
|
(orderless-matching-styles '(orderless-initialism
|
||||||
|
orderless-literal
|
||||||
|
orderless-regexp)))
|
||||||
|
|
||||||
|
(provide '+orderless)
|
||||||
|
;;; +orderless.el ends here
|
Loading…
Reference in New Issue