Add settings to control gutter elements (#7665)
The current gutter was a bit too big for my taste, so I added some settings to change which visual elements are shown, including being able to hide the gutter completely. This should help with the following issues: #4963, #4382, #7422 New settings: ```json5 "gutter": { "line_numbers": true, // Whether line numbers are shown "buttons": true // Whether the code action/folding buttons are shown } ``` The existing `git.git_gutter` setting is also taken into account when calculating the width of the gutter. We could also separate the display of the code action and folding buttons into separate settings, let me know if that is desirable. ## Screenshots: - Everything on (`gutter.line_numbers`, `gutter.buttons`, `git.git_gutter`): <img width="434" alt="SCR-20240210-trfb" src="https://github.com/zed-industries/zed/assets/17355488/bcc55311-6e1d-4c22-8c43-4f364637959b"> - Only line numbers and git gutter (`gutter.line_numbers`, `git.git_gutter`): <img width="406" alt="SCR-20240210-trhm" src="https://github.com/zed-industries/zed/assets/17355488/0a0e074d-64d0-437c-851b-55560d5a6c6b"> - Only git gutter (`git.git_gutter`): <img width="356" alt="SCR-20240210-trkb" src="https://github.com/zed-industries/zed/assets/17355488/7ebdb38d-93a5-4e38-b008-beabf355510d"> - Only git gutter and buttons (`git.git_gutter`, `gutter.buttons`): <img width="356" alt="SCR-20240210-txyo" src="https://github.com/zed-industries/zed/assets/17355488/e2c92c05-cc30-43bc-9399-09ea5e376e1b"> - Nothing: <img width="350" alt="SCR-20240210-trne" src="https://github.com/zed-industries/zed/assets/17355488/e0cd301d-c3e0-4b31-ac69-997515928b5a"> ## Release Notes: - Added settings to control the display of gutter visual elements. `"gutter": {"line_numbers": true, "code_actions": true, "folds": true}` ([#8041](https://github.com/zed-industries/zed/issues/8041)) ([#7422](https://github.com/zed-industries/zed/issues/7422)) ``` --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This commit is contained in:
parent
0de8672044
commit
a82f4857f4
7 changed files with 175 additions and 81 deletions
|
@ -12,6 +12,7 @@ pub struct EditorSettings {
|
|||
pub use_on_type_format: bool,
|
||||
pub toolbar: Toolbar,
|
||||
pub scrollbar: Scrollbar,
|
||||
pub gutter: Gutter,
|
||||
pub vertical_scroll_margin: f32,
|
||||
pub relative_line_numbers: bool,
|
||||
pub seed_search_query_from_cursor: SeedQuerySetting,
|
||||
|
@ -45,6 +46,13 @@ pub struct Scrollbar {
|
|||
pub diagnostics: bool,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema, PartialEq, Eq)]
|
||||
pub struct Gutter {
|
||||
pub line_numbers: bool,
|
||||
pub code_actions: bool,
|
||||
pub folds: bool,
|
||||
}
|
||||
|
||||
/// When to show the scrollbar in the editor.
|
||||
///
|
||||
/// Default: auto
|
||||
|
@ -97,6 +105,8 @@ pub struct EditorSettingsContent {
|
|||
pub toolbar: Option<ToolbarContent>,
|
||||
/// Scrollbar related settings
|
||||
pub scrollbar: Option<ScrollbarContent>,
|
||||
/// Gutter related settings
|
||||
pub gutter: Option<GutterContent>,
|
||||
|
||||
/// The number of lines to keep above/below the cursor when auto-scrolling.
|
||||
///
|
||||
|
@ -157,6 +167,23 @@ pub struct ScrollbarContent {
|
|||
pub diagnostics: Option<bool>,
|
||||
}
|
||||
|
||||
/// Gutter related settings
|
||||
#[derive(Copy, Clone, Debug, Serialize, Deserialize, JsonSchema, PartialEq, Eq)]
|
||||
pub struct GutterContent {
|
||||
/// Whether to show line numbers in the gutter.
|
||||
///
|
||||
/// Default: true
|
||||
pub line_numbers: Option<bool>,
|
||||
/// Whether to show code action buttons in the gutter.
|
||||
///
|
||||
/// Default: true
|
||||
pub code_actions: Option<bool>,
|
||||
/// Whether to show fold buttons in the gutter.
|
||||
///
|
||||
/// Default: true
|
||||
pub folds: Option<bool>,
|
||||
}
|
||||
|
||||
impl Settings for EditorSettings {
|
||||
const KEY: Option<&'static str> = None;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue