summaryrefslogtreecommitdiff
path: root/feebleline.el
diff options
context:
space:
mode:
authorKevin Boulain <kevinboulain@gmail.com>2018-10-06 17:01:58 +0200
committerKevin Boulain <kevinboulain@gmail.com>2018-10-06 18:40:02 +0200
commit948bf699b23d3cb756a17f651a90b240facc166c (patch)
tree319bc54ac267c60bf75fa973688eec99f3e22c43 /feebleline.el
parent3eebf83bf868f8ce67cfdc779d08e28a6dcb8126 (diff)
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).
Diffstat (limited to 'feebleline.el')
-rw-r--r--feebleline.el11
1 files 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)))
))