branch: elpa/vc-fossil commit da4d895118317710bb8187a70f9d19ddb3dccf47 Author: pdo <pdo> Commit: pdo <pdo>
Refactored header-line propertizing function. --- vc/el/vc-fossil.el | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/vc/el/vc-fossil.el b/vc/el/vc-fossil.el index 32a2b56..1f293be 100644 --- a/vc/el/vc-fossil.el +++ b/vc/el/vc-fossil.el @@ -224,6 +224,10 @@ If `files` is nil return the status for all files." (defun vc-fossil-checkout-model (files) 'implicit) +(defun vc-fossil-propertize-header-line (name value) + (concat (propertize name 'face 'font-lock-type-face) + (propertize value 'face 'font-lock-variable-name-face))) + (defun vc-fossil-dir-extra-headers (dir) (let ((info (vc-fossil--run "info")) (settings (vc-fossil--run "settings")) @@ -234,20 +238,19 @@ If `files` is nil return the status for all files." (cond ((eql field :repository) (string-match "repository: *\\(.*\\)$" info) (let ((repo (match-string 1 info))) - (push (propertize "Repository : " 'face 'font-lock-type-face) lines) - (push (propertize repo 'face 'font-lock-variable-name-face) lines))) + (push (vc-fossil-propertize-header-line "Repository : " repo) lines))) ((eql field :remote-url) (let ((remote-url (car (split-string (vc-fossil--run "remote-url"))))) - (push (propertize "Remote URL : " 'face 'font-lock-type-face) lines) - (push (propertize remote-url 'face 'font-lock-variable-name-face) lines))) + (push (vc-fossil-propertize-header-line "Remote URL : " remote-url) lines))) ((eql field :synchro) (let* ((as-match (string-match "^autosync.+\\([[:digit:]]\\)$" settings)) (autosync (if as-match (match-string 1 settings) "0")) (dp-match (string-match "^dont-push.+\\([[:digit:]]\\)$" settings)) (dontpush (if dp-match (match-string 1 settings) "0"))) - (push (propertize "Synchro : " 'face 'font-lock-type-face) lines) - (push (propertize (concat "autosync=" autosync) 'face 'font-lock-variable-name-face) lines) - (push (propertize (concat " dont-push=" dontpush) 'face 'font-lock-variable-name-face) lines))) + (push (vc-fossil-propertize-header-line "Synchro : " + (concat "autosync=" autosync + " dont-push=" dontpush)) + lines))) ((eql field :checkout) (let* ((posco (string-match "checkout: *\\([0-9a-fA-F]+\\) \\([-0-9: ]+ UTC\\)" info)) (coid (substring (match-string 1 info) 0 10)) @@ -255,19 +258,18 @@ If `files` is nil return the status for all files." (safe-date-to-time (match-string 2 info)))) (child-match (string-match "child: *\\(.*\\)$" info)) (leaf (if child-match "NON-LEAF" "leaf"))) - (push (propertize "Checkout : " 'face 'font-lock-type-face) lines) - (push (propertize (concat coid " " cots) 'face 'font-lock-variable-name-face) lines) - (push (propertize (concat " (" leaf ")") 'face 'font-lock-variable-name-face) lines))) + (push (vc-fossil-propertize-header-line "Checkout : " + (concat coid " " cots + (concat " (" leaf ")"))) + lines))) ((eql field :comment) (string-match "comment: *\\(.*\\)$" info) (let ((msg (match-string 1 info))) - (push (propertize "Comment : " 'face 'font-lock-type-face) lines) - (push (propertize msg 'face 'font-lock-variable-name-face) lines))) + (push (vc-fossil-propertize-header-line "Comment : " msg) lines))) ((eql field :tags) (string-match "tags: *\\(.*\\)" info) (let ((tags (match-string 1 info))) - (push (propertize "Tags : " 'face 'font-lock-type-face) lines) - (push (propertize tags 'face 'font-lock-variable-name-face) lines))))) + (push (vc-fossil-propertize-header-line "Tags : " tags) lines))))) (apply #'concat (nreverse lines)))) ;;; STATE-CHANGING FUNCTIONS