Skip to content

editor: Refresh active debug line highlight on theme change#59274

Open
Dnreikronos wants to merge 1 commit into
zed-industries:mainfrom
Dnreikronos:editor/debug_line_theme_refresh
Open

editor: Refresh active debug line highlight on theme change#59274
Dnreikronos wants to merge 1 commit into
zed-industries:mainfrom
Dnreikronos:editor/debug_line_theme_refresh

Conversation

@Dnreikronos

@Dnreikronos Dnreikronos commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Objective

Fixes #58736

Pause the debugger on a breakpoint, switch your theme, and the active debug line keeps its old highlight color until you step again or restart Zed.

Solution

The highlight stores a concrete color grabbed from the theme back when go_to_active_debug_line ran. A theme switch goes through theme_changed, which refreshes brackets, semantic tokens, and outline symbols but never re-applies that highlight, so it stays stale. Re-running go_to_active_debug_line from theme_changed re-resolves the color against the current theme.

Testing

Added a regression test in debugger_ui that stops at a debug line, swaps the theme's editor.debugger_active_line.background, and checks the highlight follows. It fails on main and passes with the fix.

Also tested by hand on Windows: started a debugpy session, paused at a breakpoint, switched themes from the theme selector, and watched the active line recolor live without stepping or restarting.

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • Unsafe blocks (if any) have justifying comments
  • The content adheres to Zed's UI standards (UX/UI and icon guidelines)
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Showcase

Paused at a breakpoint, switching themes from the theme selector.

Before After
https://github.com/user-attachments/assets/653a7e1b-3a99-4316-b1c9-b16ed7a7a8ba https://github.com/user-attachments/assets/22a4c876-30f2-44c5-aad9-0f860639074c

Release Notes:

  • Fixed the active debug line color not updating when switching themes while the debugger is paused (#58736).

The active debug line is highlighted with a concrete Hsla captured from
the theme when go_to_active_debug_line runs. A theme switch fires
theme_changed, which refreshed brackets, semantic tokens, and outline
symbols but never re-applied the ActiveDebugLine highlight. While paused
at a breakpoint, the debug line kept its stale color until the debugger
stepped again or Zed restarted.

Re-run go_to_active_debug_line from theme_changed so the highlight tracks
the current theme. Covered by a regression test in debugger_ui.

Closes zed-industries#58736
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Applying new editor.debugger_active_line.background requires editor restart

1 participant