mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
* lisp/vc/log-edit.el: Add GNU coding standards highlighting.
(log-edit-font-lock-gnu-style) (log-edit-font-lock-gnu-keywords): New vars. (log-edit-font-lock-keywords): New fun. (log-edit-mode): Don't fold case in font-lock. (log-edit-font-lock-keywords): Do not assume case-folding. * .dir-locals.el (log-edit-mode): Enable gnu-style checks.
This commit is contained in:
parent
07d00b5611
commit
49ed9c8e75
4 changed files with 57 additions and 3 deletions
|
|
@ -5,7 +5,8 @@
|
|||
;; You must set bugtracker_debbugs_url in your bazaar.conf for this to work.
|
||||
;; See admin/notes/bugtracker.
|
||||
(log-edit-mode . ((log-edit-rewrite-fixes
|
||||
"[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1")))
|
||||
"[ \n](bug#\\([0-9]+\\))" . "debbugs:\\1")
|
||||
(log-edit-font-lock-gnu-style . t)))
|
||||
(change-log-mode . ((add-log-time-zone-rule . t)
|
||||
(fill-column . 74)
|
||||
(bug-reference-url-format . "http://debbugs.gnu.org/%s")
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* .dir-locals.el (log-edit-mode): Enable gnu-style checks.
|
||||
|
||||
2012-05-08 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* make-dist: No more doc/lispref/*.el.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
2012-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* vc/log-edit.el: Add GNU coding standards highlighting.
|
||||
(log-edit-font-lock-gnu-style)
|
||||
(log-edit-font-lock-gnu-keywords): New vars.
|
||||
(log-edit-font-lock-keywords): New fun.
|
||||
(log-edit-mode): Don't fold case in font-lock.
|
||||
(log-edit-font-lock-keywords): Do not assume case-folding.
|
||||
|
||||
* imenu.el: Misc cleanup. Make docstrings out of comments.
|
||||
Use lexical-binding.
|
||||
(imenu--index-alist, imenu--last-menubar-index-alist)
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ automatically."
|
|||
(defvar log-edit-font-lock-keywords
|
||||
;; Copied/inspired by message-font-lock-keywords.
|
||||
`((log-edit-match-to-eoh
|
||||
(,(concat "^\\(\\([a-z]+\\):\\)" log-edit-header-contents-regexp)
|
||||
(,(concat "^\\(\\([[:alpha:]]+\\):\\)" log-edit-header-contents-regexp)
|
||||
(progn (goto-char (match-beginning 0)) (match-end 0)) nil
|
||||
(1 (if (assoc (match-string 2) log-edit-headers-alist)
|
||||
'log-edit-header
|
||||
|
|
@ -360,6 +360,48 @@ automatically."
|
|||
'log-edit-header)
|
||||
nil lax)))))
|
||||
|
||||
(defvar log-edit-font-lock-gnu-style nil
|
||||
"If non-nil, highlight common failures to follow the GNU coding standards.")
|
||||
(put 'log-edit-font-lock-gnu-style 'safe-local-variable 'booleanp)
|
||||
|
||||
(defconst log-edit-font-lock-gnu-keywords
|
||||
;; Use
|
||||
;; * foo.el (bla, bli)
|
||||
;; (blo, blu): Toto.
|
||||
;; Rather than
|
||||
;; * foo.el (bla, bli,
|
||||
;; blo, blu): Toto.
|
||||
'(("^[ \t]*\\(?:\\* .*\\)?\\(([^\n)]*,\\s-*\\)$"
|
||||
(1 '(face font-lock-warning-face
|
||||
help-echo "Continue function lists with \")\\n(\".") t))
|
||||
;; Don't leave a lone word on a single line.
|
||||
;;("^\\s-*\\(\\S-*[^\n:)]\\)\\s-*$" (1 font-lock-warning-face t))
|
||||
;; Don't cut a sentence right after the first word (better to move
|
||||
;; the sentence on the next line, then).
|
||||
;;("[.:]\\s-+\\(\\sw+\\)\\s-*$" (1 font-lock-warning-face t))
|
||||
;; Change Log entries should use present tense.
|
||||
("):[ \t\n]*[[:alpha:]]+\\(ed\\)\\>"
|
||||
(1 '(face font-lock-warning-face help-echo "Use present tense.") t))
|
||||
;; Change log entries start with a capital letter.
|
||||
("): [a-z]" (0 '(face font-lock-warning-face help-echo "Capitalize.") t))
|
||||
("[^[:upper:]]\\(\\. [[:upper:]]\\)"
|
||||
(1 '(face font-lock-warning-face
|
||||
help-echo "Use two spaces to end a sentence") t))
|
||||
("^("
|
||||
(0 (let ((beg (max (point-min) (- (match-beginning 0) 2))))
|
||||
(put-text-property beg (match-end 0) 'font-lock-multiline t)
|
||||
(if (eq (char-syntax (char-after beg)) ?w)
|
||||
'(face font-lock-warning-face
|
||||
help-echo "Punctuate previous line.")))
|
||||
t))
|
||||
))
|
||||
|
||||
(defun log-edit-font-lock-keywords ()
|
||||
(if log-edit-font-lock-gnu-style
|
||||
(append log-edit-font-lock-keywords
|
||||
log-edit-font-lock-gnu-keywords)
|
||||
log-edit-font-lock-keywords))
|
||||
|
||||
;;;###autoload
|
||||
(defun log-edit (callback &optional setup params buffer mode &rest _ignore)
|
||||
"Setup a buffer to enter a log message.
|
||||
|
|
@ -416,7 +458,7 @@ commands (under C-x v for VC, for example).
|
|||
|
||||
\\{log-edit-mode-map}"
|
||||
(set (make-local-variable 'font-lock-defaults)
|
||||
'(log-edit-font-lock-keywords t t))
|
||||
'(log-edit-font-lock-keywords t))
|
||||
(make-local-variable 'log-edit-comment-ring-index)
|
||||
(hack-dir-local-variables-non-file-buffer))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue