From: Wolfgang Faust Date: Sun, 01 Mar 2026 21:55:58 GMT Subject: [PATCH] git-gui: highlight comment lines in commit message Message-ID: These lines are stripped by wash_commit_message, but there is no indication in the UI that they are special and will be removed. Add highlighting to make it clear these lines are special. Signed-off-by: Wolfgang Faust (I'm not very good with tcl, so I suspect this code could use some work. In particular the regex being a mangled copy of the one in the wash procedure seems like a code smell, though I'm not sure how to improve it.) --- git-gui/git-gui.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index d3d3aa14a9..3a0c08aa38 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -3900,6 +3900,25 @@ if {[winfo exists $ui_comm]} { backup_commit_buffer + # Grey out comment lines (which are stripped from the final commit message by + # wash_commit_message). + $ui_comm tag configure commit_comment -foreground gray + proc highlight_commit_comment_lines {} { + global ui_comm comment_string + $ui_comm tag remove commit_comment 0.0 end + set text [$ui_comm get 1.0 end] + # See also cmt_rx in wash_commit_message + set cmt_rx [strcat {(?:^|\n)(} [regsub -all {\W} $comment_string {\\&}] {[^\n]*)}] + set ranges [regexp -all -indices -inline -- $cmt_rx $text] + for {set i 1} {$i < [llength $ranges]} {incr i 2} { + $ui_comm tag add commit_comment \ + [$ui_comm index "1.0 + [lindex [lindex $ranges $i] 0] chars"] \ + [$ui_comm index "1.0 + [lindex [lindex $ranges $i] 0] chars lineend + 1 char"] + } + } + highlight_commit_comment_lines + bind $ui_comm <> { after idle highlight_commit_comment_lines } + # -- If the user has aspell available we can drive it # in pipe mode to spellcheck the commit message. # base-commit: 7b2bccb0d58d4f24705bf985de1f4612e4cf06e5 -- 2.52.0