@@ -305,6 +305,7 @@ Uses `all-the-icons-material' to fetch the icon."
305
305
(advice-add #'org-narrow-to-element :after #'doom-modeline-update-buffer-file-state-icon )
306
306
(advice-add #'org-narrow-to-subtree :after #'doom-modeline-update-buffer-file-state-icon )
307
307
(advice-add #'org-edit-src-save :after #'doom-modeline-update-buffer-file-state-icon )
308
+ (advice-add #'symbol-overlay-rename :after #'doom-modeline-update-buffer-file-state-icon )
308
309
309
310
(when (>= emacs-major-version 26 )
310
311
(add-variable-watcher
@@ -340,7 +341,6 @@ mouse-1: Previous buffer\nmouse-3: Next buffer"
340
341
(add-hook 'find-file-hook #'doom-modeline-update-buffer-file-name )
341
342
(add-hook 'after-revert-hook #'doom-modeline-update-buffer-file-name )
342
343
(add-hook 'after-save-hook #'doom-modeline-update-buffer-file-name )
343
- (add-hook 'after-change-functions #'doom-modeline-update-buffer-file-name )
344
344
(add-hook 'clone-indirect-buffer-hook #'doom-modeline-update-buffer-file-name )
345
345
(add-hook 'evil-insert-state-exit-hook #'doom-modeline-update-buffer-file-name )
346
346
(advice-add #'not-modified :after #'doom-modeline-update-buffer-file-name )
@@ -350,10 +350,10 @@ mouse-1: Previous buffer\nmouse-3: Next buffer"
350
350
(advice-add #'undo :after #'doom-modeline-update-buffer-file-name )
351
351
(advice-add #'undo-tree-undo-1 :after #'doom-modeline-update-buffer-file-name )
352
352
(advice-add #'undo-tree-redo-1 :after #'doom-modeline-update-buffer-file-name )
353
- (advice-add #'symbol-overlay-rename :after #'doom-modeline-update-buffer-file-name )
354
353
(advice-add #'popup-create :after #'doom-modeline-update-buffer-file-name )
355
354
(advice-add #'popup-delete :after #'doom-modeline-update-buffer-file-name )
356
355
(advice-add #'org-edit-src-save :after #'doom-modeline-update-buffer-file-name )
356
+ (advice-add #'symbol-overlay-rename :after #'doom-modeline-update-buffer-file-name )
357
357
358
358
(with-no-warnings
359
359
(if (boundp 'after-focus-change-function )
@@ -375,6 +375,15 @@ mouse-1: Previous buffer\nmouse-3: Next buffer"
375
375
(if buffer-file-name
376
376
(doom-modeline-update-buffer-file-name))))))))
377
377
378
+ ; ; Optimize: just update the face of the buffer name in `after-change-functions' , since
379
+ ; ; `doom-modeline--buffer-file-name' may consume lots fof CPU if it's called too frequently.
380
+ (defun doom-modeline-update-buffer-file-name-face (&rest _ )
381
+ " Update the face of buffer file name in mode-line."
382
+ (when (and doom-modeline--buffer-file-name (buffer-modified-p ))
383
+ (setq doom-modeline--buffer-file-name
384
+ (propertize doom-modeline--buffer-file-name 'face 'doom-modeline-buffer-modified ))))
385
+ (add-hook 'after-change-functions #'doom-modeline-update-buffer-file-name-face )
386
+
378
387
(defsubst doom-modeline--buffer-mode-icon ()
379
388
" The icon of the current major mode."
380
389
(when (and doom-modeline-icon doom-modeline-major-mode-icon)
0 commit comments