From 87b616e5d8dcb9763a8caf7b83e1e8e9016b6d1d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Jun 2025 17:59:32 +0200 Subject: [PATCH] refactor!: remove rainbow-delimiters BREAKING CHANGE: parentheses will no longer be colored by depth. No substitute is provided because it's trivial for users to install themselves. Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610828 --- lisp/doom-ui.el | 7 ------- lisp/packages.el | 1 - modules/lang/cc/config.el | 1 - modules/lang/clojure/config.el | 2 +- modules/lang/common-lisp/config.el | 1 - modules/lang/csharp/config.el | 2 +- modules/lang/dart/config.el | 2 +- modules/lang/emacs-lisp/config.el | 2 -- modules/lang/graphql/config.el | 1 - modules/lang/java/config.el | 2 -- modules/lang/javascript/config.el | 4 +--- modules/lang/latex/config.el | 2 -- modules/lang/lua/config.el | 1 - modules/lang/php/config.el | 1 - modules/lang/purescript/config.el | 4 +--- modules/lang/racket/config.el | 1 - modules/lang/rust/config.el | 1 - modules/lang/scheme/config.el | 1 - modules/lang/sh/config.el | 2 -- modules/lang/zig/config.el | 2 +- 20 files changed, 6 insertions(+), 34 deletions(-) diff --git a/lisp/doom-ui.el b/lisp/doom-ui.el index 00c0f4eee..40cb8c327 100644 --- a/lisp/doom-ui.el +++ b/lisp/doom-ui.el @@ -482,13 +482,6 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original ;;;###package image (setq image-animate-loop t) -;;;###package rainbow-delimiters -;; Helps us distinguish stacked delimiter pairs, especially in parentheses-drunk -;; languages like Lisp. I reduce it from it's default of 9 to reduce the -;; complexity of the font-lock keyword and hopefully buy us a few ms of -;; performance. -(setq rainbow-delimiters-max-face-count 4) - ;; ;;; Line numbers diff --git a/lisp/packages.el b/lisp/packages.el index d6e026eb2..98078d28e 100644 --- a/lisp/packages.el +++ b/lisp/packages.el @@ -23,7 +23,6 @@ ;; doom-ui.el (package! nerd-icons :pin "d972dee349395ffae8fceae790d22fedc8fe08e8") (package! hide-mode-line :pin "ddd154f1e04d666cd004bf8212ead8684429350d") -(package! rainbow-delimiters :pin "f40ece58df8b2f0fb6c8576b527755a552a5e763") (package! restart-emacs :pin "1607da2bc657fe05ae01f7fdf26f716eafead02c") ;; doom-editor.el diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index a1b797271..49cfd6942 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -26,7 +26,6 @@ This is ignored by ccls.") ;; these only run in their respective major modes, and not derived modes. :hook ((c-mode-local-vars c++-mode-local-vars objc-mode-local-vars) . +cc-init-ffap-integration-h) ;;; Improve fontification in C/C++ (also see `modern-cpp-font-lock') - :hook (c-mode-common . rainbow-delimiters-mode) :hook ((c-mode c++-mode) . +cc-fontify-constants-h) :config (set-docsets! 'c-mode "C") diff --git a/modules/lang/clojure/config.el b/modules/lang/clojure/config.el index a1ace2228..bdd79167e 100644 --- a/modules/lang/clojure/config.el +++ b/modules/lang/clojure/config.el @@ -15,7 +15,7 @@ ;;; Packages (use-package! clojure-mode - :hook (clojure-mode . rainbow-delimiters-mode) + :defer t :config (set-formatter! 'cljfmt '("cljfmt" "fix" "-") :modes '(clojure-mode clojurec-mode clojurescript-mode)) diff --git a/modules/lang/common-lisp/config.el b/modules/lang/common-lisp/config.el index 8a79a6dc8..3a2d09e20 100644 --- a/modules/lang/common-lisp/config.el +++ b/modules/lang/common-lisp/config.el @@ -14,7 +14,6 @@ ;;;###package lisp-mode (defvar inferior-lisp-program "sbcl") -(add-hook 'lisp-mode-hook #'rainbow-delimiters-mode) (use-package! sly diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index 38bac4879..fbab79d0c 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -1,7 +1,7 @@ ;;; lang/csharp/config.el -*- lexical-binding: t; -*- (use-package! csharp-mode - :hook (csharp-mode . rainbow-delimiters-mode) + :defer t :config (set-formatter! 'csharpier '("csharpier" "format" "--write-stdout") :modes '(csharp-mode)) diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el index 19f8c9f63..adffd9fb0 100644 --- a/modules/lang/dart/config.el +++ b/modules/lang/dart/config.el @@ -1,7 +1,7 @@ ;;; lang/dart/config.el -*- lexical-binding: t; -*- (use-package! dart-mode - :hook (dart-mode . rainbow-delimiters-mode) + :defer t :config (when (modulep! +lsp) (add-hook 'dart-mode-local-vars-hook #'lsp! 'append)) diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 25d525d76..fd338d850 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -86,8 +86,6 @@ See `+emacs-lisp-non-package-mode' for details.") (add-hook! '(emacs-lisp-mode-hook lisp-data-mode-local-vars-hook) ;; Allow folding of outlines in comments #'outline-minor-mode - ;; Make parenthesis depth easier to distinguish at a glance - #'rainbow-delimiters-mode ;; Make quoted symbols easier to distinguish from free variables #'highlight-quoted-mode ;; Extend imenu support to Doom constructs diff --git a/modules/lang/graphql/config.el b/modules/lang/graphql/config.el index f03597df1..3dbc6802a 100644 --- a/modules/lang/graphql/config.el +++ b/modules/lang/graphql/config.el @@ -9,7 +9,6 @@ (add-hook 'graphql-mode-local-vars-hook #'lsp! 'append) (set-company-backend! 'graphql-mode 'company-graphql)) - (add-hook 'graphql-mode-hook #'rainbow-delimiters-mode) (set-docsets! 'graphql-mode :add "GraphQL Specification") (set-electric! 'graphql-mode diff --git a/modules/lang/java/config.el b/modules/lang/java/config.el index 12eb46377..77f300b22 100644 --- a/modules/lang/java/config.el +++ b/modules/lang/java/config.el @@ -24,8 +24,6 @@ If the depth is 2, the first two directories are removed: net.lissner.game.") ;; ;;; java-mode -(add-hook 'java-mode-hook #'rainbow-delimiters-mode) - (when (and (modulep! +lsp) (modulep! :tools lsp -eglot)) (load! "+lsp")) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 2e9cbe5f7..7aa2ecf42 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -42,7 +42,6 @@ :mode "\\.es6\\'" :mode "\\.pac\\'" :interpreter "node" - :hook (rjsx-mode . rainbow-delimiters-mode) :init ;; Parse node stack traces in the compilation buffer (after! compilation @@ -91,8 +90,7 @@ (use-package! typescript-mode - :hook (typescript-mode . rainbow-delimiters-mode) - :hook (typescript-tsx-mode . rainbow-delimiters-mode) + :defer t :init (when (modulep! :lang web) (autoload 'typescript-tsx-mode "typescript-mode" nil t)) diff --git a/modules/lang/latex/config.el b/modules/lang/latex/config.el index 97bb59a9f..fc165d073 100644 --- a/modules/lang/latex/config.el +++ b/modules/lang/latex/config.el @@ -79,8 +79,6 @@ okular and pdf-tools.") fill-nobreak-predicate (cons #'texmathp fill-nobreak-predicate)) ;; Enable word wrapping. (add-hook 'TeX-mode-hook #'visual-line-mode) - ;; Enable `rainbow-mode' after applying styles to the buffer. - (add-hook 'TeX-update-style-hook #'rainbow-delimiters-mode) ;; Display output of LaTeX commands in a popup. (set-popup-rules! '((" output\\*$" :size 15) ("^\\*TeX \\(?:Help\\|errors\\)" diff --git a/modules/lang/lua/config.el b/modules/lang/lua/config.el index cb59dd905..34b0d2c39 100644 --- a/modules/lang/lua/config.el +++ b/modules/lang/lua/config.el @@ -63,7 +63,6 @@ lua-language-server.") (use-package! fennel-mode :when (modulep! +fennel) :mode "\\.fenneldoc\\'" - :hook (fennel-mode . rainbow-delimiters-mode) :config (set-lookup-handlers! 'fennel-mode :definition #'fennel-find-definition diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index 62b1c405e..16b80cb91 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -22,7 +22,6 @@ (use-package! php-mode :mode "\\.inc\\'" - :hook (php-mode . rainbow-delimiters-mode) :config ;; Disable HTML compatibility in php-mode. `web-mode' has superior support for ;; php+html. Use the .phtml extension instead. diff --git a/modules/lang/purescript/config.el b/modules/lang/purescript/config.el index c7d8468e6..c9466a171 100644 --- a/modules/lang/purescript/config.el +++ b/modules/lang/purescript/config.el @@ -4,9 +4,7 @@ (when (modulep! +lsp) (add-hook 'purescript-mode-local-vars-hook #'lsp! 'append)) - (add-hook! 'purescript-mode-hook - #'purescript-indentation-mode - #'rainbow-delimiters-mode) + (add-hook 'purescript-mode-hook #'purescript-indentation-mode) (set-formatter! 'purs-tidy '("purs-tidy" "format") :modes '(purescript-mode)) diff --git a/modules/lang/racket/config.el b/modules/lang/racket/config.el index 5bb524f8a..13658bedf 100644 --- a/modules/lang/racket/config.el +++ b/modules/lang/racket/config.el @@ -43,7 +43,6 @@ (set-rotate-patterns! mode :symbols '(("#true" "#false"))) (set-formatter! 'raco-fmt '("raco" "fmt") :modes (list mode)) - (add-hook mode-hook #'rainbow-delimiters-mode) (add-hook mode-hook #'highlight-quoted-mode) (when (modulep! +lsp) diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index f14ff418a..307c509c8 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -35,7 +35,6 @@ (defalias 'org-babel-execute:rust #'org-babel-execute:rustic) (add-to-list 'org-src-lang-modes '("rust" . rustic))) :config - (add-hook 'rustic-mode-hook #'rainbow-delimiters-mode) (set-docsets! 'rustic-mode "Rust") (set-popup-rule! "^\\*rustic-compilation" :vslot -1) (set-popup-rule! "^\\*cargo-run" :vslot -1) diff --git a/modules/lang/scheme/config.el b/modules/lang/scheme/config.el index 94c00911b..0ac72c071 100644 --- a/modules/lang/scheme/config.el +++ b/modules/lang/scheme/config.el @@ -2,7 +2,6 @@ (use-package! scheme :interpreter ("scsh" . scheme-mode) - :hook (scheme-mode . rainbow-delimiters-mode) :config (set-formatter! 'lisp-indent #'apheleia-indent-lisp-buffer :modes '(scheme-mode)) (advice-add #'scheme-indent-function :override #'+scheme-indent-function-a)) diff --git a/modules/lang/sh/config.el b/modules/lang/sh/config.el index 7bb128b6b..3b773a911 100755 --- a/modules/lang/sh/config.el +++ b/modules/lang/sh/config.el @@ -66,8 +66,6 @@ (1 'sh-quoted-exec prepend)) (,(regexp-opt +sh-builtin-keywords 'symbols) (0 'font-lock-type-face append)))))) - ;; 4. Fontify delimiters by depth - (add-hook 'sh-mode-hook #'rainbow-delimiters-mode) ;; autoclose backticks (sp-local-pair 'sh-mode "`" "`" :unless '(sp-point-before-word-p sp-point-before-same-p))) diff --git a/modules/lang/zig/config.el b/modules/lang/zig/config.el index 8bf21a29c..41e35ee25 100644 --- a/modules/lang/zig/config.el +++ b/modules/lang/zig/config.el @@ -9,7 +9,7 @@ ;;; Packages (use-package! zig-mode - :hook (zig-mode . rainbow-delimiters-mode) + :defer t :config (setq zig-format-on-save nil) ; rely on :editor format instead