From 948bf699b23d3cb756a17f651a90b240facc166c Mon Sep 17 00:00:00 2001 From: Kevin Boulain Date: Sat, 6 Oct 2018 17:01:58 +0200 Subject: magit-get-current-branch may not be bound or return anything It's probably better to try to import the required packages than to check if it is bound because the user may not load magit itself. Also fallback on rev-parse to display something in case the branch isn't available (for example, detached HEAD). --- feebleline.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/feebleline.el b/feebleline.el index 4e2a640..e0d6f16 100644 --- a/feebleline.el +++ b/feebleline.el @@ -78,7 +78,7 @@ (defvar feebleline--msg-timer) (defvar feebleline/mode-line-format-previous) -(defface feebleline-git-branch-face '((t :foreground "#444444" :italic t)) +(defface feebleline-git-face '((t :foreground "#444444" :italic t)) "Example face for git branch." :group 'feebleline) @@ -118,6 +118,13 @@ (file-name-nondirectory (buffer-file-name)) (buffer-name))) +(defun feebleline-git-object () + "Current branch, when magit is available." + (when (and (require 'magit-git nil t) + (require 'magit-process nil t)) + (or (magit-get-current-branch) ; may return nil when not on a branch + (magit-rev-parse "--short" "HEAD")))) + (defun feebleline-file-modified-star () "Display star if buffer file was modified." (when (and (buffer-file-name) (buffer-modified-p)) "*")) @@ -139,7 +146,7 @@ (feebleline-file-directory ((face . feebleline-dir-face) (post . ""))) (feebleline-file-or-buffer-name ((face . font-lock-keyword-face) (post . ""))) (feebleline-file-modified-star ((face . font-lock-warning-face) (post . ""))) - (magit-get-current-branch ((face . feebleline-git-branch-face) (pre . " - "))) + (feebleline-git-object ((face . feebleline-git-face) (pre . " - "))) ;; (feebleline-project-name ((right-align . t))) )) -- cgit v1.2.3