mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
feat(editor): replace highlight-symbol with symbol-overlay
symbol-overlay claims to be much faster at highlighting symbols across large files, and also has better interactive symbol manipulation features.
This commit is contained in:
@@ -36,13 +36,13 @@
|
||||
(require 'siren-display-indentation)
|
||||
(require 'siren-display-line-numbers)
|
||||
(require 'siren-embark)
|
||||
(require 'siren-highlight-symbol)
|
||||
(require 'siren-marginalia)
|
||||
(require 'siren-minions)
|
||||
(require 'siren-mwim)
|
||||
(require 'siren-rainbow)
|
||||
(require 'siren-recentf)
|
||||
(require 'siren-savehist)
|
||||
(require 'siren-symbol-overlay)
|
||||
(require 'siren-undo-fu)
|
||||
(require 'siren-undo-fu-session)
|
||||
(require 'siren-uniquify)
|
||||
|
||||
41
modules/editor/siren-symbol-overlay.el
Normal file
41
modules/editor/siren-symbol-overlay.el
Normal file
@@ -0,0 +1,41 @@
|
||||
;;; siren-symbol-overlay.el --- jimeh's Emacs Siren: symbol-overlay configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for symbol-overlay.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package symbol-overlay
|
||||
:diminish symbol-overlay-mode
|
||||
|
||||
:general
|
||||
("C-c i" 'symbol-overlay-put)
|
||||
("C-c C-p" 'symbol-overlay-jump-prev)
|
||||
("C-c C-n" 'symbol-overlay-jump-next)
|
||||
|
||||
:hook
|
||||
(prog-mode . symbol-overlay-mode)
|
||||
|
||||
:custom
|
||||
(symbol-overlay-idle-time 0.5)
|
||||
|
||||
:preface
|
||||
(defvar ruby-block-beg-keywords)
|
||||
(defvar ruby-modifier-beg-keywords)
|
||||
(defvar ruby-block-mid-keywords)
|
||||
(defvar ruby-block-op-keywords)
|
||||
(defun siren-symbol-overlay-ignore-function-ruby (symbol)
|
||||
"Determine whether SYMBOL should be ignored (Ruby)."
|
||||
(or (symbol-overlay-match-keyword-list symbol '("end"))
|
||||
(symbol-overlay-match-keyword-list symbol ruby-block-beg-keywords)
|
||||
(symbol-overlay-match-keyword-list symbol ruby-modifier-beg-keywords)
|
||||
(symbol-overlay-match-keyword-list symbol ruby-block-mid-keywords)
|
||||
(symbol-overlay-match-keyword-list symbol ruby-block-op-keywords)))
|
||||
|
||||
:config
|
||||
(add-to-list 'symbol-overlay-ignore-functions
|
||||
'(ruby-mode . siren-symbol-overlay-ignore-function-ruby)))
|
||||
|
||||
(provide 'siren-symbol-overlay)
|
||||
;;; siren-symbol-overlay.el ends here
|
||||
@@ -117,7 +117,6 @@
|
||||
("helm-xref" . "ea0e4ed8a9baf236e4085cbc7178241f109a53fa")
|
||||
("helpful" . "94a07d49a80f66f8ebc54a49a4b4f6899a65fbe3")
|
||||
("highlight-indent-guides" . "cf352c85cd15dd18aa096ba9d9ab9b7ab493e8f6")
|
||||
("highlight-symbol.el" . "7a789c779648c55b16e43278e51be5898c121b3a")
|
||||
("ht.el" . "c4c1be487d6ecb353d07881526db05d7fc90ea87")
|
||||
("httprepl.el" . "cfa3693267a8ed1c96a86a126823f37dbfe077d8")
|
||||
("hydra" . "9e9e00cb240ea1903ffd36a54956b3902c379d29")
|
||||
@@ -208,6 +207,7 @@
|
||||
("straight.el" . "fed215348076ba9182f634e0770a175220474b5a")
|
||||
("string-edit.el" . "d7c4b9db6c4987b5c022a9858e6302a4c53aff5f")
|
||||
("string-inflection" . "fd7926ac17293e9124b31f706a4e8f38f6a9b855")
|
||||
("symbol-overlay" . "c439b73a5f9713bb3dce98986b589bb901e22130")
|
||||
("tablist" . "faab7a035ef2258cc4ea2182f67e3aedab7e2af9")
|
||||
("terraform-doc" . "16179e57ce290190c222b27961900657a1981330")
|
||||
("terraform-mode" . "e560caaa9d9a11b0868adf6d9dcae5ebb5055730")
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
'(git-gutter-fr:modified :foreground (doom-blend vc-modified bg 0.7)
|
||||
:background (doom-blend vc-modified bg 0.0))
|
||||
|
||||
|
||||
;; tree-sitter
|
||||
'(tree-sitter-hl-face:property :inherit font-lock-constant-face) ;; disable italic
|
||||
'(tree-sitter-hl-face:method.call :foreground (doom-blend functions keywords 0.6))
|
||||
@@ -123,6 +122,27 @@
|
||||
'(ahs-warning-face :foreground (doom-color red)
|
||||
:background 'unspecified)
|
||||
|
||||
;; symbol-overlay
|
||||
'(symbol-overlay-default-face
|
||||
(&dark :background (doom-lighten region 0.1) :distant-foreground fg-alt)
|
||||
(&light :background (doom-darken region 0.1) :distant-foreground fg-alt))
|
||||
'(symbol-overlay-face-1 :background (doom-blend blue bg 0.4)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-2 :background (doom-blend violet bg 0.4)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-3 :background (doom-blend yellow bg 0.3)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-4 :background (doom-blend orange bg 0.3)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-5 :background (doom-blend red bg 0.3)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-6 :background (doom-blend magenta bg 0.3)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-7 :background (doom-blend green bg 0.4)
|
||||
:distant-foreground fg-alt)
|
||||
'(symbol-overlay-face-8 :background (doom-blend cyan bg 0.2)
|
||||
:distant-foreground fg-alt)
|
||||
|
||||
;; dired+
|
||||
'(diredp-dir-heading :foreground (doom-color magenta))
|
||||
'(diredp-dir-name :foreground (doom-lighten magenta 0.25))
|
||||
|
||||
Reference in New Issue
Block a user