refactor!: remove pcre2el package
BREAKING CHANGE: This removes the pcre2el package, which Doom was using solely for one function to escape PCREs. In the interest of thinning out Doom's core, I've hoisted a simpler version of the function into Doom's stdlib so I can remove the dependency.
This commit is contained in:
parent
f9dfb7e92a
commit
481753bd5e
5 changed files with 20 additions and 6 deletions
15
lisp/lib/strings.el
Normal file
15
lisp/lib/strings.el
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
;;; lisp/lib/strings.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun doom-pcre-quote (str)
|
||||||
|
"Like `reqexp-quote', but for PCREs."
|
||||||
|
(let ((special '(?. ?^ ?$ ?* ?+ ?? ?{ ?\\ ?\[ ?\| ?\())
|
||||||
|
(quoted nil))
|
||||||
|
(mapc (lambda (c)
|
||||||
|
(when (memq c special)
|
||||||
|
(push ?\\ quoted))
|
||||||
|
(push c quoted))
|
||||||
|
str)
|
||||||
|
(concat (nreverse quoted))))
|
||||||
|
|
||||||
|
;;; end of strings.el
|
|
@ -31,7 +31,6 @@
|
||||||
(package! better-jumper :pin "47622213783ece37d5337dc28d33b530540fc319")
|
(package! better-jumper :pin "47622213783ece37d5337dc28d33b530540fc319")
|
||||||
(package! dtrt-indent :pin "939c5e374ac0175bb7d561542e22e47a72d04aa8")
|
(package! dtrt-indent :pin "939c5e374ac0175bb7d561542e22e47a72d04aa8")
|
||||||
(package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c")
|
(package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c")
|
||||||
(package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50")
|
|
||||||
(package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8")
|
(package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8")
|
||||||
(package! ws-butler :pin "e3a38d93e01014cd47bf5af4924459bd145fd7c4")
|
(package! ws-butler :pin "e3a38d93e01014cd47bf5af4924459bd145fd7c4")
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,7 @@ The point of this is to avoid Emacs locking up indexing massive file trees."
|
||||||
((string= substr "|")
|
((string= substr "|")
|
||||||
"\\\\\\\\|")
|
"\\\\\\\\|")
|
||||||
((concat "\\\\" substr))))
|
((concat "\\\\" substr))))
|
||||||
(rxt-quote-pcre (doom-thing-at-point-or-region)))))
|
(doom-pcre-quote (doom-thing-at-point-or-region)))))
|
||||||
directory args
|
directory args
|
||||||
(or prompt
|
(or prompt
|
||||||
(format "Search project [%s]: "
|
(format "Search project [%s]: "
|
||||||
|
|
|
@ -63,7 +63,7 @@ input and search the whole buffer for it."
|
||||||
(consult-line
|
(consult-line
|
||||||
(replace-regexp-in-string
|
(replace-regexp-in-string
|
||||||
" " "\\\\ "
|
" " "\\\\ "
|
||||||
(rxt-quote-pcre
|
(doom-pcre-quote
|
||||||
(buffer-substring-no-properties start end))))
|
(buffer-substring-no-properties start end))))
|
||||||
(call-interactively #'consult-line)))))))
|
(call-interactively #'consult-line)))))))
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ If prefix ARG is set, include ignored/hidden files."
|
||||||
"Search current project for symbol at point.
|
"Search current project for symbol at point.
|
||||||
If prefix ARG is set, prompt for a known project to search from."
|
If prefix ARG is set, prompt for a known project to search from."
|
||||||
(interactive
|
(interactive
|
||||||
(list (rxt-quote-pcre (or (doom-thing-at-point-or-region) ""))
|
(list (doom-pcre-quote (or (doom-thing-at-point-or-region) ""))
|
||||||
(let ((projectile-project-root nil))
|
(let ((projectile-project-root nil))
|
||||||
(if current-prefix-arg
|
(if current-prefix-arg
|
||||||
(if-let (projects (projectile-relevant-known-projects))
|
(if-let (projects (projectile-relevant-known-projects))
|
||||||
|
@ -118,7 +118,7 @@ If prefix ARG is set, prompt for a known project to search from."
|
||||||
"Conduct a text search in the current project for symbol at point. If prefix
|
"Conduct a text search in the current project for symbol at point. If prefix
|
||||||
ARG is set, prompt for a known project to search from."
|
ARG is set, prompt for a known project to search from."
|
||||||
(interactive
|
(interactive
|
||||||
(list (rxt-quote-pcre (or (doom-thing-at-point-or-region) ""))))
|
(list (doom-pcre-quote (or (doom-thing-at-point-or-region) ""))))
|
||||||
(require 'org)
|
(require 'org)
|
||||||
(+default/search-project-for-symbol-at-point
|
(+default/search-project-for-symbol-at-point
|
||||||
symbol org-directory))
|
symbol org-directory))
|
||||||
|
|
|
@ -238,7 +238,7 @@ This backend prefers \"just working\" over accuracy."
|
||||||
Uses and requires `+ivy-file-search', `+helm-file-search', or `+vertico-file-search'.
|
Uses and requires `+ivy-file-search', `+helm-file-search', or `+vertico-file-search'.
|
||||||
Will return nil if neither is available. These require ripgrep to be installed."
|
Will return nil if neither is available. These require ripgrep to be installed."
|
||||||
(when identifier
|
(when identifier
|
||||||
(let ((query (rxt-quote-pcre identifier)))
|
(let ((query (doom-pcre-quote identifier)))
|
||||||
(ignore-errors
|
(ignore-errors
|
||||||
(cond ((modulep! :completion ivy)
|
(cond ((modulep! :completion ivy)
|
||||||
(+ivy-file-search :query query)
|
(+ivy-file-search :query query)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue