mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-10-06 05:57:38 -04:00
Use the detailed commit graph automatically in terminals that draw it
The detailed commit graph is only drawn for users who set gui.commitGraphStyle to 'detailed'. Many users of terminals that can draw it will never find out about it. A terminal can't be asked whether it draws a given character, but it does tell us its name and version when tcell asks for them with XTVERSION at startup. Add an 'auto' value and make it the default. It uses the detailed graph in kitty from 0.36.2 and in Ghostty from 1.0.0 on. These are the first versions that draw all of the symbols. Everywhere else it stays with the classic graph. This includes tmux, because tmux answers XTVERSION itself. So far, WezTerm draws the symbols only in its nightly builds, so it isn't detected until a release has them. VS Code isn't detected either, because it only draws the symbols with GPU acceleration. The expected output of the integration tests has the classic graph, so pin it in their config. Otherwise they would fail when run with a visible UI in one of these terminals. Log the terminal's name and version at startup, to make it possible to find out why 'auto' picked what it did. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
da5b9b54eb
commit
4780c8bb72
@@ -1224,11 +1224,12 @@
|
||||
"commitGraphStyle": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"auto",
|
||||
"classic",
|
||||
"detailed"
|
||||
],
|
||||
"description": "How the commit graph is drawn.\nOne of: 'classic' (default) | 'detailed'\n'detailed' connects the lines to the commit circles, and shows exactly where branches fork off and merge. It draws the graph with the git branch drawing symbols (U+F5D0 to U+F60D), so it needs a terminal that draws these itself: kitty, Ghostty, WezTerm (nightly builds), Contour, or VS Code's terminal with GPU acceleration. Other terminals need a font that contains them, such as https://github.com/rbong/flog-symbols.",
|
||||
"default": "classic"
|
||||
"description": "How the commit graph is drawn.\nOne of: 'auto' (default) | 'classic' | 'detailed'\n'detailed' connects the lines to the commit circles, and shows exactly where branches fork off and merge. It draws the graph with the git branch drawing symbols (U+F5D0 to U+F60D), so it needs a terminal that draws these itself: kitty, Ghostty, WezTerm (nightly builds), Contour, or VS Code's terminal with GPU acceleration. Other terminals need a font that contains them, such as https://github.com/rbong/flog-symbols.\n'auto' uses 'detailed' if lazygit recognizes the terminal as one that draws these symbols (kitty and Ghostty), and 'classic' otherwise.",
|
||||
"default": "auto"
|
||||
},
|
||||
"commitAuthorShortLength": {
|
||||
"type": "integer",
|
||||
|
||||
Reference in New Issue
Block a user