From df82599909c319dd7fa5223b600f997c6e23d3af Mon Sep 17 00:00:00 2001 From: Protesilaos Stavrou Date: Mon, 29 Jul 2024 12:22:47 +0300 Subject: [PATCH] emacs: enable breadcrumb-mode only when relevant --- emacs/.emacs.d/prot-emacs-modules/prot-emacs-window.el | 10 ++++++++-- emacs/.emacs.d/prot-emacs.org | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/emacs/.emacs.d/prot-emacs-modules/prot-emacs-window.el b/emacs/.emacs.d/prot-emacs-modules/prot-emacs-window.el index 0e663870..bf4594e9 100644 --- a/emacs/.emacs.d/prot-emacs-modules/prot-emacs-window.el +++ b/emacs/.emacs.d/prot-emacs-modules/prot-emacs-window.el @@ -240,11 +240,17 @@ ;;; Header line context of symbol/heading (breadcrumb.el) (use-package breadcrumb :ensure t - :hook (after-init . breadcrumb-mode) + :functions (breadcrumb-local-mode) + :hook ((text-mode prog-mode) . prot/breadcrumb-local-mode) :config (setq breadcrumb-project-max-length 0.5) (setq breadcrumb-project-crumb-separator "/") (setq breadcrumb-imenu-max-length 1.0) - (setq breadcrumb-imenu-crumb-separator " > ")) + (setq breadcrumb-imenu-crumb-separator " > ") + + (defun prot/breadcrumb-local-mode () + "Enable `breadcrumb-local-mode' if the buffer is visiting a file." + (when buffer-file-name + (breadcrumb-local-mode 1)))) (provide 'prot-emacs-window) diff --git a/emacs/.emacs.d/prot-emacs.org b/emacs/.emacs.d/prot-emacs.org index 2c7e8d61..51f2e28f 100644 --- a/emacs/.emacs.d/prot-emacs.org +++ b/emacs/.emacs.d/prot-emacs.org @@ -6334,12 +6334,18 @@ leads to the current heading. Same idea for programming modes. Neat! ;;; Header line context of symbol/heading (breadcrumb.el) (use-package breadcrumb :ensure t - :hook (after-init . breadcrumb-mode) + :functions (breadcrumb-local-mode) + :hook ((text-mode prog-mode) . prot/breadcrumb-local-mode) :config (setq breadcrumb-project-max-length 0.5) (setq breadcrumb-project-crumb-separator "/") (setq breadcrumb-imenu-max-length 1.0) - (setq breadcrumb-imenu-crumb-separator " > ")) + (setq breadcrumb-imenu-crumb-separator " > ") + + (defun prot/breadcrumb-local-mode () + "Enable `breadcrumb-local-mode' if the buffer is visiting a file." + (when buffer-file-name + (breadcrumb-local-mode 1)))) #+end_src *** The =prot-emacs-window.el= ~provide~ form