Leverage org-roam-titles-cache for centaur-tabs org titles

This commit is contained in:
Jeremy Dormitzer 2020-03-19 16:56:33 -04:00
parent 6c89580e3e
commit abc1a38e16

View File

@ -2310,12 +2310,14 @@ UI-related keybindings:
(centaur-tabs-mode)
:config
(centaur-tabs-group-by-projectile-project)
;; Only show tabs in buffers visiting files
(advice-add 'centaur-tabs-line :around
(lambda (oldfn &rest args)
(if (buffer-file-name)
(apply oldfn args)
(setq header-line-format nil))))
;; Enable prefix argument for tab switching keybindings
(advice-add 'centaur-tabs-forward :around
(lambda (oldfn &rest args)
@ -2329,13 +2331,16 @@ UI-related keybindings:
(dotimes (_ current-prefix-arg)
(apply oldfn args))
(apply oldfn args))))
;; Use Org-mode titles for tab names when possible
(advice-add 'centaur-tabs-buffer-tab-label :around
(lambda (oldfn tab &rest args)
(if-let ((title (org-get-title
(with-current-buffer (car tab)
(buffer-substring (point-min)
(min (point-max) 200))))))
(if-let ((title (or (gethash (buffer-file-name (car tab))
org-roam-titles-cache)
(org-get-title
(with-current-buffer (car tab)
(buffer-substring (point-min)
(min (point-max) 200)))))))
(if (> centaur-tabs-label-fixed-length 0)
(centaur-tabs-truncate-string centaur-tabs-label-fixed-length
(format " %s" title))