Re: [PATCH] git-gui: highlight comment lines in commit message
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Mar 4, 2026, 07:24 UTC
- Message-ID
- <fd298e8c-462d-4309-a20c-ea3dcd00d09d@kdbg.org>
- In-Reply-To
- <c2416342-dbb8-4003-b959-cb0ed2b00eeb@app.fastmail.com>
Am 04.03.26 um 02:30 schrieb Wolfgang Faust:
> Thank you, "dim" is a better term.
You forgot to update the commit message. I took the liberty to rewrite it like so:
git-gui: grey out comment lines in commit message
Comment lines are stripped by wash_commit_message, but there is no
indication in the UI that they are special and will be removed.
Grey these lines out to indicate that they will be removed. Signed-off-by: Wolfgang Faust <contrib-git@wolfgangfaust.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>Show 8 quoted lines
>> (I wonder why we need the +1char, though.) > > Without it, putting the cursor at the end of a comment line and typing > causes the newly inserted text to flash black briefly. Adding +1 puts > the tag on the other side of the cursor, so the newly added text is dim. > (The tradeoff is that putting the cursor at the end of the comment, > pressing enter, and typing causes the newly inserted text to be grey > briefly. I think this looks somewhat less bad than the other way around.)
Fair enough.
Show 17 quoted lines
> + # 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 dim_commit_comment_lines {} {
> + global ui_comm comment_string
> + $ui_comm tag remove commit_comment 1.0 end
> + set text [$ui_comm get 1.0 end]
> + # See also cmt_rx in wash_commit_message
> + set cmt_rx [strcat {^} [regsub -all {\W} $comment_string {\\&}]]
> + set ranges [regexp -all -indices -inline -line -- $cmt_rx $text]
> + foreach pair $ranges {
> + set idx "1.0 + [lindex $pair 0] chars"
> + $ui_comm tag add commit_comment $idx "$idx lineend + 1 char"
> + }
> + }
> + dim_commit_comment_lines
> + bind $ui_comm <<Modified>> { after idle dim_commit_comment_lines }Nicely done! Queued.
Thanks, -- Hannes