1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-02-08 20:58:58 +00:00

Use state prettyprinter in vc-dir buffers.

This commit is contained in:
Eric S. Raymond 2008-05-16 22:42:36 +00:00
parent c8039c6b14
commit 7c2ec3f975
4 changed files with 24 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2008-05-16 Eric S. Raymond <esr@snark.thyrsus.com>
* vc2-xtra.texi: Mofify an example so it reflects what vc.el
now does.
2008-05-15 Eric S. Raymond <esr@snark.thyrsus.com>
* vc2-xtra.texi, emacs.texi, files.texi: Snapshots node renamed to

View File

@ -43,8 +43,8 @@ output is used. Here is an example using RCS:
@smallexample
@group
DIRECTORY ./
edited file1.c
up-to-date file2.c
(modified) file1.c
(update) file2.c
@end group
@end smallexample

View File

@ -1,3 +1,11 @@
<<<<<<< ChangeLog
2008-05-16 Eric S. Raymond <esr@snark.thyrsus.com>
* vc.el (vc-default-status-printer)
(vc-default-prettify-state-info): Enhance the state prettyprinter
to deall better with unknown states and indirect through it when
painting vc-dir buffers.
2008-05-16 John Paul Wallington <jpw@pobox.com>
* vc-dispatcher.el (top-level): Don't require cl when compiling.

View File

@ -1808,24 +1808,24 @@ specific headers."
(defun vc-default-status-printer (backend fileentry)
"Pretty print FILEENTRY."
;; If you change the layout here, change vc-dir-move-to-goal-column.
(let ((state
(if (vc-dir-fileinfo->directory fileentry)
'DIRECTORY
(vc-dir-fileinfo->state fileentry))))
(let* ((isdir (vc-dir-fileinfo->directory fileentry))
(state (if isdir 'DIRECTORY (vc-dir-fileinfo->state fileentry)))
(filename (vc-dir-fileinfo->name fileentry))
(prettified (if isdir state (vc-call-backend backend 'prettify-state-info filename))))
(insert
(propertize
(format "%c" (if (vc-dir-fileinfo->marked fileentry) ?* ? ))
'face 'font-lock-type-face)
" "
(propertize
(format "%-20s" state)
(format "%-20s" prettified)
'face (cond ((eq state 'up-to-date) 'font-lock-builtin-face)
((memq state '(missing conflict)) 'font-lock-warning-face)
(t 'font-lock-variable-name-face))
'mouse-face 'highlight)
" "
(propertize
(format "%s" (vc-dir-fileinfo->name fileentry))
(format "%s" filename)
'face 'font-lock-function-name-face
'mouse-face 'highlight))))
@ -2643,16 +2643,16 @@ to provide the `find-revision' operation instead."
(let* ((state (vc-state file))
(statestring
(cond
((stringp state) (concat "(" state ")"))
((stringp state) (concat "(locked:" state ")"))
((eq state 'edited) "(modified)")
((eq state 'needs-merge) "(merge)")
((eq state 'needs-update) "(update)")
((eq state 'added) "(added)")
((eq state 'removed) "(removed)")
((eq state 'ignored) "(ignored)")
((eq state 'unregistered) "?")
((eq state 'unregistered) "(unregistered)")
((eq state 'unlocked-changes) "(stale)")
((not state) "(unknown)")))
(t (concat "(unknown:" state ")"))))
(buffer
(get-file-buffer file))
(modflag