outline_panel: Add setting to hide symbols in multi-buffer views - #63404
Merged
SomeoneToIgnore merged 4 commits intoAug 31, 2026
Merged
Conversation
Adds `outline_panel.multi_buffer_hide_symbols` (default false) and an `outline panel: toggle symbols` action with a panel footer button, which reduce multi-buffer views to just the directory/file tree by hiding excerpt, symbol and search-match rows. The action toggles an in-memory per-panel override of the setting; changing the setting clears the override. Single-file views are exempt. The filter is display-only: collapsed entries and editor buffer folding are never touched. Outline fetching is skipped while the mode is active, and re-triggered when it is turned off.
FrantisekGazo
force-pushed
the
feat/outline-panel-hide-symbols
branch
from
August 29, 2026 09:57
77e0665 to
d6d7b33
Compare
SomeoneToIgnore
approved these changes
Aug 31, 2026
SomeoneToIgnore
left a comment
Contributor
There was a problem hiding this comment.
Thanks, nice idea!
Took a liberty to push a fix for incorrect outline filtering in excerpts; and had to fix the focus issues: removing the symbols did not re-select anything in the pane, spoiling its uninterrupted navigation ergonomics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #60242
Objective
When reviewing a branch diff — or project search results — the outline panel lists every affected excerpt and symbol beneath each file. On a diff touching more than a handful of files, this consumes so much vertical space that you cannot see the list of changed files at all, which is usually the thing you want the panel for.
Existing settings don't cover this:
expand_outlines_with_depth: 0still renders excerpt rows and top-level symbol rows.Solution
A display-only mode that reduces multi-buffer views to just the directory/file tree.
outline_panel.multi_buffer_hide_symbolssetting (defaultfalse). When enabled, multi-buffer views render only directory, file and folded-directory rows — excerpt, symbol and search-match rows are hidden.outline panel: toggle symbolsaction, plus a button in the panel footer, which toggles an in-memory per-panel override of the setting (the same pattern aseditor: toggle inlay hints). Changing the setting clears the override, so the setting wins.collapsed_entriesand editor buffer folding are never touched.This adds one new icon,
file_code_off, used by the footer button when symbols are hidden. cc @zed-industries/design for review per the icon guidelines — it isfile_codewith the slash and outline gaps fromfile_ignored, keeping the parts of the chevrons that fall on the near side of the slash.Testing
Three new tests in
crates/outline_panel/src/outline_panel.rs:test_hide_symbols_in_multibuffer— outline rows are present by default; onlyFs/FoldedDirsentries remain once the mode is enabled via the setting (which also exercises the settings observer) and via the action; outline rows return when it is toggled off, confirming outlines are re-fetched; assertscollapsed_entriesis unchanged at every step, covering the display-only guarantee.test_hide_symbols_exempts_singleton— a single-file view still renders its outline with the setting enabled.test_hide_symbols_hides_search_matches— project search match rows are hidden while files and directories still render, and return when toggled off.cargo test -p outline_panel(15 passing),cargo test -p icons,cargo test -p settings_ui -p settings_content, and./script/clippyon the touched crates are all green.Tested manually on macOS against a branch diff, project search results, and single-file buffers, checking both the setting and the action (from the panel footer button and from the command palette with focus outside the panel), and that expanding/collapsing directories and editor folding still behave as before.
Self-Review Checklist:
Showcase
Single-file views are unaffected — symbols still render, and the toggle is not offered:
Release Notes:
outline_panel.multi_buffer_hide_symbolssetting and anoutline panel: toggle symbolsaction to show only files and directories in the outline panel for multi-buffer views.