jesseduffield.lazygit/pkg/integration/tests/interactive_rebase
Stefan Haller 35d3659cce Use more widely-supported Unicode symbols for the commit graph
The commit graph used '⏣' (U+23E3 BENZENE RING WITH CIRCLE) for merge
commits and '◯' (U+25EF LARGE CIRCLE) for regular commits. Both have
very poor coverage in popular monospace fonts:

- '⏣' lives in the Misc Technical block and is essentially absent from
  every common monospace font (Source Code Pro, JetBrains Mono, Fira
  Code, Cascadia Code, Hack, Iosevka, Menlo, Consolas, Monaco, IBM
  Plex Mono, Ubuntu Mono, Noto Sans Mono, Inconsolata). It is always
  drawn from a system fallback font.
- '◯' is the late-addition LARGE CIRCLE codepoint. It is present in
  some fonts (Cascadia, Fira Code, Hack, Iosevka, Menlo, Noto Sans
  Mono) but missing from many others, including Source Code Pro and
  most Nerd Font derivatives based on it.

This is why the graph renders inconsistently across platforms even
when the same monospace font is configured: each OS picks a different
fallback font (Apple Symbols on macOS, Segoe UI Symbol on Windows,
Noto/DejaVu/Symbola on Linux), and the substituted glyphs differ in
shape, weight, and advance width. '◯' is also East Asian Ambiguous
width, so some terminals render it wider than one cell, exaggerating
the misalignment.

Replace the symbols with codepoints from the foundational 1991
Geometric Shapes block, which has far broader font coverage:

- Merge: '◎' U+25CE BULLSEYE -- concentric circles, the visually
  closest cousin to the previous benzene-ring glyph.
- Commit: '○' U+25CB WHITE CIRCLE -- the same hollow-circle silhouette
  as before, just a more universally available codepoint.

The new symbols are present in the font directly in significantly
more cases; and when fallback is still required, they are universally
well-drawn (unlike '⏣', which many fallback fonts also lack).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 13:06:29 +02:00
..
advanced_interactive_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
amend_commit_with_conflict.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
amend_first_commit.go Use sentence case everywhere 2023-05-25 23:52:19 +10:00
amend_fixup_commit.go Use sentence case everywhere 2023-05-25 23:52:19 +10:00
amend_head_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
amend_merge.go Improve prompts when amending commits 2023-09-01 18:55:16 +02:00
amend_non_head_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
delete_update_ref_todo.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
dont_show_branch_heads_for_todo_items.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
drop_commit_in_copied_branch_with_update_ref.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
drop_merge_commit.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
drop_todo_commit_with_update_ref.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
drop_with_custom_comment_char.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
edit_and_auto_amend.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_first_commit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_last_commit_of_stacked_branch.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
edit_non_todo_commit_during_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
edit_range_select_down_to_merge_outside_rebase.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
edit_range_select_outside_rebase.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
edit_the_confl_commit.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
fixup_first_commit.go Use ErrorToast instead of error panel when invoking a disabled command 2024-01-14 17:45:35 +01:00
fixup_keep_message.go Support using the selected commit's message in a fixup 2026-01-28 10:28:52 +01:00
fixup_keep_message_rebase.go Support using the selected commit's message in a fixup 2026-01-28 10:28:52 +01:00
fixup_second_commit.go Support using the selected commit's message in a fixup 2026-01-28 10:28:52 +01:00
interactive_rebase_of_copied_branch.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
interactive_rebase_with_conflict_for_edit_command.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
mid_rebase_range_select.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
move.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
move_across_branch_boundary_outside_rebase.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
move_in_rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
move_update_ref_todo.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
move_with_custom_comment_char.go Use comment char config on interactive rebase 2023-07-02 02:07:32 -03:00
outside_rebase_range_select.go Support using the selected commit's message in a fixup 2026-01-28 10:28:52 +01:00
pick_rescheduled.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
quick_start.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
quick_start_keep_selection.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
quick_start_keep_selection_range.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
rebase.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
rebase_with_commit_that_becomes_empty.go Add test for a special situation in rebases involving empty commits 2025-04-20 15:53:17 +02:00
revert_during_rebase_when_stopped_on_edit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
revert_multiple_commits_in_interactive_rebase.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
revert_single_commit_in_interactive_rebase.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
reword_commit_with_editor_and_fail.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
reword_first_commit.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
reword_last_commit.go Construct arg vector manually rather than parse string 2023-05-23 19:49:19 +10:00
reword_last_commit_of_stacked_branch.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
reword_merge_commit.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
reword_you_are_here_commit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
reword_you_are_here_commit_with_editor.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
shared.go Add section headers for rebase todos, cherry-picks, reverts, and actual commits 2025-04-20 16:06:15 +02:00
show_exec_todos.go Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
squash_down_first_commit.go Use ErrorToast instead of error panel when invoking a disabled command 2024-01-14 17:45:35 +01:00
squash_down_second_commit.go Support range select in rebase actions 2024-01-23 17:23:56 +11:00
squash_fixups_above.go Make it easy to create "amend!" commits 2024-03-22 08:27:45 +01:00
squash_fixups_above_first_commit.go Make it easy to create "amend!" commits 2024-03-22 08:27:45 +01:00
squash_fixups_in_current_branch.go Keep the same line selected after squashing fixup commits 2024-03-09 07:55:22 +01:00
swap_in_rebase_with_conflict.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
swap_in_rebase_with_conflict_and_edit.go Remove the "YOU ARE HERE" marker 2025-04-20 16:06:15 +02:00
swap_with_conflict.go Show original todo action instead of "conflict", and show <-- CONFLICT instead 2025-04-20 15:55:44 +02:00
view_files_of_todo_entries.go Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00