[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/dired-git-info f539ba5 08/33: Align message parts of comm
From: |
Clemens Radermacher |
Subject: |
[elpa] scratch/dired-git-info f539ba5 08/33: Align message parts of commit messages |
Date: |
Sun, 17 Feb 2019 13:03:28 -0500 (EST) |
branch: scratch/dired-git-info
commit f539ba57b599c5d5c2a561ac41964e01934dc5a5
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>
Align message parts of commit messages
---
dired-git-info.el | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/dired-git-info.el b/dired-git-info.el
index 369577f..5cd8f43 100644
--- a/dired-git-info.el
+++ b/dired-git-info.el
@@ -34,10 +34,11 @@
'((t (:inherit font-lock-comment-face)))
"Face for commit message overlays.")
-(defvar dgi-commit-message-format "%s (%cr)"
+(defvar dgi-commit-message-format "%s\t%cr"
"Format of the commit messages.
-The placeholders are (from git-log PRETTY FORMATS):
+Placeholders have to be separated by tabs. The placeholders
+are (from git-log PRETTY FORMATS):
ยท %H: commit hash
@@ -309,6 +310,25 @@ info format and defaults to `dgi-commit-message-format'."
(line-end-position)))))
+(defun dgi--get-commit-messages (files)
+ (let ((messages ()))
+ (setq messages
+ (dolist (file files (nreverse messages))
+ (push (dgi--get-commit-info file)
+ messages)))
+ (with-current-buffer (get-buffer-create " *temp*")
+ (erase-buffer)
+ (dolist (message messages)
+ (insert (or message "") "\n"))
+ (align-regexp (point-min)
+ (point-max)
+ "\\(\\s-*\\)\t" nil nil t)
+ (goto-char (point-min))
+ (while (search-forward "\t" nil t)
+ (replace-match " "))
+ (split-string (buffer-string) "\n"))))
+
+
;;;###autoload
(defun dgi-toggle-git-info ()
"Toggle git message info in current dired buffer."
@@ -319,10 +339,11 @@ info format and defaults to `dgi-commit-message-format'."
(dired-unmark-all-marks)
(dired-toggle-marks)
(dired-get-marked-files)))
- (minspc (1+ (apply #'max (dgi--get-dired-files-length files)))))
+ (minspc (1+ (apply #'max (dgi--get-dired-files-length files))))
+ (messages (dgi--get-commit-messages files)))
(save-excursion
(dolist (file files)
- (let ((msg (dgi--get-commit-info file)))
+ (let ((msg (pop messages)))
(when msg
(dired-goto-file file)
(let ((spc (make-string
- [elpa] scratch/dired-git-info f2117c8 28/33: Add .gitignore, (continued)
- [elpa] scratch/dired-git-info f2117c8 28/33: Add .gitignore, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 1c4ff64 23/33: Remove redundant :group declarations, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info cd60dd4 33/33: Check visible part of file names for right formatting, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 3280075 22/33: Update descriptions, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 069695c 10/33: Update screenshot, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 51135d8 07/33: Use actual displayed width of filename to determine spacing, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 16c7a1a 15/33: Hide details when showing git info, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 2ea5107 29/33: Rephrase commentary, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info b5551e7 30/33: Convert entry command to minor mode, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 7755019 32/33: Get commit info from real file name, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info f539ba5 08/33: Align message parts of commit messages,
Clemens Radermacher <=
- [elpa] scratch/dired-git-info 8afe378 09/33: Update docstring for message format, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info f9f8ab5 17/33: Cleanup, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 0f7625c 14/33: Make overlays buffer local, to allow multiple dired buffers, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info aa8248a 21/33: Use temp buffer, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info c8e3b2e 13/33: Add docstrings, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 95688b3 20/33: Add group, keywords and make options customizeable, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 4f6d0ca 24/33: Boolean vars shouldn't have a -p suffix, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 6115ae1 03/33: Fix package name in comment, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info 740e1cf 27/33: Fix copyright, Clemens Radermacher, 2019/02/17
- [elpa] scratch/dired-git-info d8b777d 31/33: Cleanup, Clemens Radermacher, 2019/02/17