git gui: visually wrap lines of commit message
PATCH 1/1 git gui: visually wrap lines of commit message
Visually wrap lines in the commit message text box. That way we can avoid a horizontal scroll bar (which was not available anyways).
Note: This does _not_ break lines in the actual commit message.
---
I also tried to get automatic line breaks but was unable to do so. I managed to implement a callback function triggered by the <<Modified>> event, and I also managed to query the end position of the insertion using the 'insert' index. So with this information it would be possible to implement automatic line breaks. Unfortunately, this is not enough for pasting. If there is more than one new character, the start position of the insertion is unknown.
I then tried to track cursor movement, but no luck there either. Any ideas are welcome. For now I'll simply have to "git commit --amend<CR>gqG:x<CR>" each time I use git gui.
Clemens
git-gui/git-gui.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
git-gui/git-gui.sh +1 -0
@@ -2528,6 +2528,7 @@ text $ui_comm -background white -foreground black \ -autoseparators true \ -relief sunken \ -width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \ + -wrap char \ -font font_diff \ -yscrollcommand {.vpane.lower.commarea.buffer.sby set} scrollbar .vpane.lower.commarea.buffer.sby \
Signature · 1 line
1.5.6.4
Quoted 4 lines · Clemens Buchacher
Visually wrap lines in the commit message text box. That way we can avoid a horizontal scroll bar (which was not available anyways).
Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.
-- Hannes
Quoted 7 lines · Johannes Sixt
Quoted 4 lines · Clemens Buchacher
Visually wrap lines in the commit message text box. That way we can avoid a horizontal scroll bar (which was not available anyways).
Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.
Currently you don't see the whole message anyways if the box is too small for the text. I find that quite annoying, especially since there are neither keys nor a scrollbar to scroll horizontally.
And if you break the lines manually, it really doesn't make a difference. Unless you "forget" to do so, which is unlikely, because the virtual wrap will wrap per-character and not per-word.
Clemens
Quoted 5 lines · Clemens Buchacher
Quoted 4 lines · Johannes Sixt
Quoted 3 lines · Clemens Buchacher
Visually wrap lines in the commit message text box. That way we can avoid a horizontal scroll bar (which was not available anyways).
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.
Currently you don't see the whole message anyways if the box is too small for the text. I find that quite annoying, especially since there are neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do see what I will get.
The width of the box was chosen wisely: It takes a bit less than 80 columns, to leave room for quoting in emails and to avoid wrapping of git log output.
-- Hannes
Quoted 6 lines · Johannes Sixt
Quoted 3 lines
Currently you don't see the whole message anyways if the box is too small for the text. I find that quite annoying, especially since there are neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do see what I will get.
Ok, that's not bad. But nevertheless I think we should at least add a scrollbar.
Quoted 3 lines
The width of the box was chosen wisely: It takes a bit less than 80 columns, to leave room for quoting in emails and to avoid wrapping of git log output.
Maybe I'm doing something wrong, but on my system (wish8.5) the box width changes with the window size, and gui.commitmsgwidth appears to be ignored. Even if I close and restart git gui, the old window size is kept.
Clemens
Quoted 10 lines · Clemens Buchacher
Quoted 6 lines · Johannes Sixt
Quoted 3 lines
Currently you don't see the whole message anyways if the box is too small for the text. I find that quite annoying, especially since there are neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do see what I will get.
Ok, that's not bad. But nevertheless I think we should at least add a scrollbar.
I thought the scrollbar took up too much vertical space, so I did not want to put in a horizontal scrollbar on a box that never should require horizontal scrolling. As Johannes points out...
Quoted 7 lines
Quoted 3 lines
The width of the box was chosen wisely: It takes a bit less than 80 columns, to leave room for quoting in emails and to avoid wrapping of git log output.
Maybe I'm doing something wrong, but on my system (wish8.5) the box width changes with the window size, and gui.commitmsgwidth appears to be ignored. Even if I close and restart git gui, the old window size is kept.
That's a bug, and I now understand why you have a problem. That box should not be resizing itself. Its supposed to be using a fixed width font, and have a fixed number of columns, so you can format a message including drawing ASCII art to explain yourself clearly as you write a change.
I'll consider a patch that fixes the box so it doesn't resize under 8.5, but I won't apply one that applies virtual line wrapping as then we lose the what-you-see-is-what-you-get property of the editor, and that is a very important property for git-gui users.
Signature · 1 line
Shawn.
Quoted 9 lines · Shawn O. Pearce
Quoted 3 lines
Maybe I'm doing something wrong, but on my system (wish8.5) the box width changes with the window size, and gui.commitmsgwidth appears to be ignored. Even if I close and restart git gui, the old window size is kept.
That's a bug, and I now understand why you have a problem. That box should not be resizing itself. Its supposed to be using a fixed width font, and have a fixed number of columns, so you can format a message including drawing ASCII art to explain yourself clearly as you write a change.
The box always resizes, unless the window is wide enough. But I do not see a good way to fix that.
Quoted 5 lines · Lars Noschinski
Quoted 4 lines · Shawn O. Pearce
Quoted 3 lines
Maybe I'm doing something wrong, but on my system (wish8.5) the box width changes with the window size, and gui.commitmsgwidth appears to be ignored. Even if I close and restart git gui, the old window size is kept.
Quoted 8 lines
Quoted 5 lines
That's a bug, and I now understand why you have a problem. That box should not be resizing itself. Its supposed to be using a fixed width font, and have a fixed number of columns, so you can format a message including drawing ASCII art to explain yourself clearly as you write a change.
The box always resizes, unless the window is wide enough. But I do not see a good way to fix that.
Oh, you mean the window isn't large enough to show the full column width of the text area? But if you make it large enough, the box stops expanding?
Signature · 1 line
Shawn.
Quoted 3 lines · Shawn O. Pearce
Oh, you mean the window isn't large enough to show the full column width of the text area? But if you make it large enough, the box stops expanding?
Yes, that is indeed the case. Sorry I missed that.
Knowing the trick with the middle mouse button, I can also live without a scrollbar. So this issue is resolved for me.
Clemens