From f9dfb7e92ad134884b30ec5c9d7045160d4eb7d5 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 1 Jul 2024 18:06:21 -0400 Subject: [PATCH 1/3] tweak(treemacs): use treemacs-add-and-display-current-project-exclusively Folks seem to expect to *only* see the current project in the treemacs pane when they open it. I sort of agree, so I've tweaked +treemacs/toggle (on SPC o p) to use `treemacs-add-and-display-current-project-exclusively` instead. Fix: #7614 --- modules/ui/treemacs/autoload.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ui/treemacs/autoload.el b/modules/ui/treemacs/autoload.el index 9d01f1d8a..06b397b0f 100644 --- a/modules/ui/treemacs/autoload.el +++ b/modules/ui/treemacs/autoload.el @@ -12,6 +12,6 @@ Use `treemacs' command for old functionality." (require 'treemacs) (pcase (treemacs-current-visibility) (`visible (delete-window (treemacs-get-local-window))) - (_ (if (doom-project-p) - (treemacs-add-and-display-current-project) + (_ (if (treemacs--find-current-user-project) + (treemacs-add-and-display-current-project-exclusively) (treemacs))))) From 481753bd5e165d0a748536e831ded2d7b734234c Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 1 Jul 2024 02:02:08 -0400 Subject: [PATCH 2/3] 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. --- lisp/lib/strings.el | 15 +++++++++++++++ lisp/packages.el | 1 - modules/completion/ivy/autoload/ivy.el | 2 +- modules/config/default/autoload/search.el | 6 +++--- modules/tools/lookup/autoload/lookup.el | 2 +- 5 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 lisp/lib/strings.el diff --git a/lisp/lib/strings.el b/lisp/lib/strings.el new file mode 100644 index 000000000..f06ebc52f --- /dev/null +++ b/lisp/lib/strings.el @@ -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 diff --git a/lisp/packages.el b/lisp/packages.el index 5af323dee..92e54effb 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -31,7 +31,6 @@ (package! better-jumper :pin "47622213783ece37d5337dc28d33b530540fc319") (package! dtrt-indent :pin "939c5e374ac0175bb7d561542e22e47a72d04aa8") (package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c") -(package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50") (package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8") (package! ws-butler :pin "e3a38d93e01014cd47bf5af4924459bd145fd7c4") diff --git a/modules/completion/ivy/autoload/ivy.el b/modules/completion/ivy/autoload/ivy.el index e24b477dd..22cee141b 100644 --- a/modules/completion/ivy/autoload/ivy.el +++ b/modules/completion/ivy/autoload/ivy.el @@ -270,7 +270,7 @@ The point of this is to avoid Emacs locking up indexing massive file trees." ((string= substr "|") "\\\\\\\\|") ((concat "\\\\" substr)))) - (rxt-quote-pcre (doom-thing-at-point-or-region))))) + (doom-pcre-quote (doom-thing-at-point-or-region))))) directory args (or prompt (format "Search project [%s]: " diff --git a/modules/config/default/autoload/search.el b/modules/config/default/autoload/search.el index 2a9c122b4..2a9848a3c 100644 --- a/modules/config/default/autoload/search.el +++ b/modules/config/default/autoload/search.el @@ -63,7 +63,7 @@ input and search the whole buffer for it." (consult-line (replace-regexp-in-string " " "\\\\ " - (rxt-quote-pcre + (doom-pcre-quote (buffer-substring-no-properties start end)))) (call-interactively #'consult-line))))))) @@ -98,7 +98,7 @@ If prefix ARG is set, include ignored/hidden files." "Search current project for symbol at point. If prefix ARG is set, prompt for a known project to search from." (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)) (if current-prefix-arg (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 ARG is set, prompt for a known project to search from." (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) (+default/search-project-for-symbol-at-point symbol org-directory)) diff --git a/modules/tools/lookup/autoload/lookup.el b/modules/tools/lookup/autoload/lookup.el index 8606db15a..393253da3 100644 --- a/modules/tools/lookup/autoload/lookup.el +++ b/modules/tools/lookup/autoload/lookup.el @@ -238,7 +238,7 @@ This backend prefers \"just working\" over accuracy." 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." (when identifier - (let ((query (rxt-quote-pcre identifier))) + (let ((query (doom-pcre-quote identifier))) (ignore-errors (cond ((modulep! :completion ivy) (+ivy-file-search :query query) From 321f2d2249a5a933e4a4a3ef684e30ce0a7a74cf Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 1 Jul 2024 18:21:35 -0400 Subject: [PATCH 3/3] refactor!(org): remove org-yt BREAKING CHANGE: This removes the org-yt package, which will break [[yt:...]] links in org, if you're using them. The package is a source of errors, likely because it hasn't been updated for Org's new element parsing system. This package was originally included for eventual use in Doom's documentation, but it likely won't be used and isn't universally useful enough to keep in this module by default. Fix: #7913 Fix: #7317 --- modules/lang/org/README.org | 1 - modules/lang/org/config.el | 10 +--------- modules/lang/org/packages.el | 3 --- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/modules/lang/org/README.org b/modules/lang/org/README.org index 031bcd0f5..6e84b5645 100644 --- a/modules/lang/org/README.org +++ b/modules/lang/org/README.org @@ -111,7 +111,6 @@ https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode - [[doom-package:org-pomodoro]] if [[doom-module:+pomodoro]] - [[doom-package:org-roam]] (v1) if [[doom-module:+roam]] - [[doom-package:org-roam]] (v2) if [[doom-module:+roam2]] -- [[doom-package:org-yt]] - [[doom-package:ox-clip]] - [[doom-package:ox-hugo]] if [[doom-module:+hugo]] - [[doom-package:ox-pandoc]] if [[doom-module:+pandoc]] diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 48ca5ee47..b00f73716 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -656,15 +656,7 @@ relative to `org-directory', unless it is an absolute path." (setq org-display-remote-inline-images 'download) ; TRAMP urls (org-link-set-parameters "http" :image-data-fun #'+org-http-image-data-fn) (org-link-set-parameters "https" :image-data-fun #'+org-http-image-data-fn) - (org-link-set-parameters "img" :image-data-fun #'+org-inline-image-data-fn) - - ;; Add support for youtube links + previews - (require 'org-yt nil t) - - (defadvice! +org-dont-preview-if-disabled-a (&rest _) - "Make `org-yt' respect `org-display-remote-inline-images'." - :before-while #'org-yt-image-data-fun - (not (eq org-display-remote-inline-images 'skip)))) + (org-link-set-parameters "img" :image-data-fun #'+org-inline-image-data-fn)) (defun +org-init-export-h () diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 02d9620d6..39ac5456a 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -39,9 +39,6 @@ (package! avy) (package! htmlize :pin "ed5e5b05fd260e8f161a488d56f10e7f6e01fb75") -(package! org-yt - :recipe (:host github :repo "TobiasZawada/org-yt") - :pin "56166f48e04d83668f70ed84706b7a4d8b1e5438") (package! ox-clip :pin "a549cc8e1747beb6b7e567ffac27e31ba45cb8e8") (package! toc-org :pin "6d3ae0fc47ce79b1ea06cabe21a3c596395409cd") (package! org-cliplink :pin "13e0940b65d22bec34e2de4bc8cba1412a7abfbc")