[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vc-got 0a3316a 091/145: implement log-view-mode
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vc-got 0a3316a 091/145: implement log-view-mode |
Date: |
Thu, 9 Sep 2021 15:58:40 -0400 (EDT) |
branch: externals/vc-got
commit 0a3316a6bbe71808e10cf1f5140690a111ba66c1
Author: Omar Polo <op@omarpolo.com>
Commit: Omar Polo <op@omarpolo.com>
implement log-view-mode
---
vc-got.el | 45 ++++++++++++++++++++++++++++++++++++---------
1 file changed, 36 insertions(+), 9 deletions(-)
diff --git a/vc-got.el b/vc-got.el
index 93ea4b2..aaecfe6 100755
--- a/vc-got.el
+++ b/vc-got.el
@@ -73,7 +73,7 @@
;; * log-outgoing DONE
;; * log-incoming DONE
;; - log-search DONE
-;; - log-view-mode NOT IMPLEMENTED
+;; - log-view-mode DONE
;; - show-log-entry NOT IMPLEMENTED
;; - comment-history NOT IMPLEMENTED
;; - update-changelog NOT IMPLEMENTED
@@ -203,14 +203,18 @@ Return nil if the command failed or if PATH isn't
included in any
worktree."
(let (process-file-side-effects)
(vc-got-with-worktree (or path default-directory)
- (zerop
- (vc-got--call "log"
- (when limit (list "-l" (format "%s" limit)))
- (when start-commit (list "-c" start-commit))
- (when stop-commit (list "-x" stop-commit))
- (when search-pattern (list "-s" search-pattern))
- (when reverse '("-R"))
- path)))))
+ (when (zerop
+ (save-excursion
+ (vc-got--call "log"
+ (when limit (list "-l" (format "%s" limit)))
+ (when start-commit (list "-c" start-commit))
+ (when stop-commit (list "-x" stop-commit))
+ (when search-pattern (list "-s" search-pattern))
+ (when reverse '("-R"))
+ path)))
+ (save-excursion
+ (delete-matching-lines
"^-----------------------------------------------$")
+ t)))))
(defun vc-got--status (status-codes dir-or-file &optional files)
"Return a list of lists '(FILE STATUS STAGE-STATUS).
@@ -651,6 +655,29 @@ START-REVISION."
(let ((inhibit-read-only t))
(vc-got--log nil nil nil nil pattern))))
+(define-derived-mode vc-got-log-view-mode log-view-mode "Got-Log-View"
+ "Got-specific log-view mode.
+Heavily inspired by `vc-git-log-view-mode'."
+ (require 'add-log)
+ (setq-local
+ log-view-file-re regexp-unmatchable
+ log-view-per-file-logs nil
+ log-view-message-re "^commit +\\([0-9a-z]+\\)"
+
+ log-view-font-lock-keywords
+ (append
+ `((,log-view-message-re (1 'change-log-acknowledgment)))
+ ;; Handle the case:
+ ;; user: foo@bar
+ '(("^from: \\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)"
+ (1 'change-log-email))
+ ;; Handle the case:
+ ;; user: FirstName LastName <foo@bar>
+ ("^from: \\([^<(]+?\\)[
\t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]"
+ (1 'change-log-name)
+ (2 'change-log-email))
+ ("^date: \\(.+\\)" (1 'change-log-date))))))
+
;; TODO: async
;; TODO: return 0 or 1
(defun vc-got-diff (files &optional rev1 rev2 buffer _async)
- [elpa] externals/vc-got 5b4a6b9 069/145: more docs, (continued)
- [elpa] externals/vc-got 5b4a6b9 069/145: more docs, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got a323f60 071/145: show list of files when committing staged stuff, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got daae979 066/145: implement vc-got-stage-commit to commit staged changes, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got dcb5b83 083/145: extract the filtering to its own function, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 76d978f 082/145: minor tweaks, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got cb97383 085/145: ignore ignored files but not up-to-date ones, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 445e2bd 087/145: typo, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 2d039a2 089/145: fix vc-dir listing on sub-directories, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 2b7241a 086/145: revamp readme, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 5fb2f47 099/145: implement revision-completion-table, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 0a3316a 091/145: implement log-view-mode,
ELPA Syncer <=
- [elpa] externals/vc-got 8014bde 101/145: implement half create-tag, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got e9a5df0 098/145: make vc-annotate-show-diff-revision-at-line works, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 567c17a 093/145: vc-got trims '----' by itself now, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 1870c8b 094/145: add a space when prompting for the push/pull operations, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got c151c25 095/145: implement vc-got-find-file-hook, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 8ec0bb7 107/145: guard vc-got-diff against nil files, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got db89d6f 114/145: add a wrapper for the update command, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got ae2ad57 123/145: don't need mark-resolved and find-admin-dir, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got 09d5937 103/145: implement retrieve-tag and complete the tag system!, ELPA Syncer, 2021/09/09
- [elpa] externals/vc-got e104d04 122/145: update the year, ELPA Syncer, 2021/09/09