From c6d0d757112fca37bd81c447cf3b3182c608d91d Mon Sep 17 00:00:00 2001 From: Smit Barmase Date: Fri, 22 Aug 2025 14:08:21 +0530 Subject: [PATCH] editor mode -> display mode Co-authored-by: Oleksiy Syvokon --- crates/agent_ui/src/acp/entry_view_state.rs | 6 +- crates/agent_ui/src/acp/message_editor.rs | 18 +- crates/agent_ui/src/acp/thread_view.rs | 14 +- crates/agent_ui/src/active_thread.rs | 2 +- crates/agent_ui/src/agent_diff.rs | 4 +- .../src/context_picker/completion_provider.rs | 2 +- crates/agent_ui/src/inline_prompt_editor.rs | 7 +- crates/agent_ui/src/message_editor.rs | 10 +- crates/assistant_tools/src/edit_file_tool.rs | 4 +- .../debugger_ui/src/tests/debugger_panel.rs | 12 +- crates/debugger_ui/src/tests/inline_values.rs | 8 +- crates/editor/src/editor.rs | 194 +++++++++--------- crates/editor/src/editor_tests.rs | 52 +++-- crates/editor/src/element.rs | 75 +++---- crates/editor/src/items.rs | 4 +- crates/editor/src/lsp_colors.rs | 2 +- crates/editor/src/mouse_context_menu.rs | 2 +- crates/editor/src/scroll.rs | 4 +- crates/editor/src/scroll/actions.rs | 4 +- crates/editor/src/scroll/autoscroll.rs | 4 +- crates/editor/src/test.rs | 6 +- crates/git_ui/src/conflict_view.rs | 2 +- crates/git_ui/src/git_panel.rs | 4 +- crates/go_to_line/src/cursor_position.rs | 10 +- crates/inspector_ui/src/div_inspector.rs | 4 +- crates/outline/src/outline.rs | 2 +- crates/outline_panel/src/outline_panel.rs | 2 +- crates/repl/src/notebook/cell.rs | 4 +- crates/settings_ui/src/keybindings.rs | 2 +- crates/vim/src/test.rs | 10 +- crates/vim/src/vim.rs | 2 +- .../zed/src/zed/edit_prediction_registry.rs | 2 +- crates/zed/src/zed/quick_action_bar.rs | 2 +- 33 files changed, 255 insertions(+), 225 deletions(-) diff --git a/crates/agent_ui/src/acp/entry_view_state.rs b/crates/agent_ui/src/acp/entry_view_state.rs index 0e4080d689bd4ae4ff67bdd7c6a9beb3f220f2b9..0c3af286cb003f4eb2ed2e8557d5ed5011723e95 100644 --- a/crates/agent_ui/src/acp/entry_view_state.rs +++ b/crates/agent_ui/src/acp/entry_view_state.rs @@ -4,7 +4,7 @@ use acp_thread::{AcpThread, AgentThreadEntry}; use agent_client_protocol::{PromptCapabilities, ToolCallId}; use agent2::HistoryStore; use collections::HashMap; -use editor::{Editor, EditorMode, MinimapVisibility}; +use editor::{Editor, EditorDisplayMode, MinimapVisibility}; use gpui::{ AnyEntity, App, AppContext as _, Entity, EntityId, EventEmitter, Focusable, TextStyleRefinement, WeakEntity, Window, @@ -87,7 +87,7 @@ impl EntryViewState { self.prompt_capabilities.clone(), "Edit message - @ to include context", self.prevent_slash_commands, - editor::EditorMode::AutoHeight { + editor::EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: None, }, @@ -287,7 +287,7 @@ fn create_editor_diff( ) -> Entity { cx.new(|cx| { let mut editor = Editor::new( - EditorMode::Full { + EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: false, show_active_line_background: false, sized_by_content: true, diff --git a/crates/agent_ui/src/acp/message_editor.rs b/crates/agent_ui/src/acp/message_editor.rs index 7d73ebeb197605b5a0c078fa3bc5b7a283d18641..dda0f9f04b023d89b644c508e399d71b19850dcc 100644 --- a/crates/agent_ui/src/acp/message_editor.rs +++ b/crates/agent_ui/src/acp/message_editor.rs @@ -10,9 +10,9 @@ use anyhow::{Context as _, Result, anyhow}; use assistant_slash_commands::codeblock_fence_for_path; use collections::{HashMap, HashSet}; use editor::{ - Addon, Anchor, AnchorRangeExt, ContextMenuOptions, ContextMenuPlacement, Editor, EditorElement, - EditorEvent, EditorMode, EditorSnapshot, EditorStyle, ExcerptId, FoldPlaceholder, MultiBuffer, - SemanticsProvider, ToOffset, + Addon, Anchor, AnchorRangeExt, ContextMenuOptions, ContextMenuPlacement, Editor, + EditorDisplayMode, EditorElement, EditorEvent, EditorSnapshot, EditorStyle, ExcerptId, + FoldPlaceholder, MultiBuffer, SemanticsProvider, ToOffset, actions::Paste, display_map::{Crease, CreaseId, FoldId}, }; @@ -90,7 +90,7 @@ impl MessageEditor { prompt_capabilities: Rc>, placeholder: impl Into>, prevent_slash_commands: bool, - mode: EditorMode, + mode: EditorDisplayMode, window: &mut Window, cx: &mut Context, ) -> Self { @@ -1056,9 +1056,9 @@ impl MessageEditor { }) } - pub fn set_mode(&mut self, mode: EditorMode, cx: &mut Context) { + pub fn set_display_mode(&mut self, mode: EditorDisplayMode, cx: &mut Context) { self.editor.update(cx, |editor, cx| { - editor.set_mode(mode); + editor.set_display_mode(mode); cx.notify() }); } @@ -1858,7 +1858,7 @@ mod tests { use agent_client_protocol as acp; use agent2::HistoryStore; use assistant_context::ContextStore; - use editor::{AnchorRangeExt as _, Editor, EditorMode}; + use editor::{AnchorRangeExt as _, Editor, EditorDisplayMode}; use fs::FakeFs; use futures::StreamExt as _; use gpui::{ @@ -1901,7 +1901,7 @@ mod tests { Default::default(), "Test", false, - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: None, }, @@ -2102,7 +2102,7 @@ mod tests { prompt_capabilities.clone(), "Test", false, - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { max_lines: None, min_lines: 1, }, diff --git a/crates/agent_ui/src/acp/thread_view.rs b/crates/agent_ui/src/acp/thread_view.rs index 619885144ab306298af40ef7c472b0f69045c5f9..ba900ea80342f50f48d891d17e544815005dd3be 100644 --- a/crates/agent_ui/src/acp/thread_view.rs +++ b/crates/agent_ui/src/acp/thread_view.rs @@ -15,7 +15,7 @@ use buffer_diff::BufferDiff; use client::zed_urls; use collections::{HashMap, HashSet}; use editor::scroll::Autoscroll; -use editor::{Editor, EditorEvent, EditorMode, MultiBuffer, PathKey, SelectionEffects}; +use editor::{Editor, EditorDisplayMode, EditorEvent, MultiBuffer, PathKey, SelectionEffects}; use file_icons::FileIcons; use fs::Fs; use gpui::{ @@ -228,7 +228,7 @@ impl ThreadFeedbackState { let editor = cx.new(|cx| { let mut editor = Editor::new( - editor::EditorMode::AutoHeight { + editor::EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(4), }, @@ -321,7 +321,7 @@ impl AcpThreadView { prompt_capabilities.clone(), "Message the agent — @ to include context", prevent_slash_commands, - editor::EditorMode::AutoHeight { + editor::EditorDisplayMode::AutoHeight { min_lines: MIN_EDITOR_LINES, max_lines: Some(MAX_EDITOR_LINES), }, @@ -673,8 +673,8 @@ impl AcpThreadView { self.editor_expanded = is_expanded; self.message_editor.update(cx, |editor, cx| { if is_expanded { - editor.set_mode( - EditorMode::Full { + editor.set_display_mode( + EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: false, show_active_line_background: false, sized_by_content: false, @@ -682,8 +682,8 @@ impl AcpThreadView { cx, ) } else { - editor.set_mode( - EditorMode::AutoHeight { + editor.set_display_mode( + EditorDisplayMode::AutoHeight { min_lines: MIN_EDITOR_LINES, max_lines: Some(MAX_EDITOR_LINES), }, diff --git a/crates/agent_ui/src/active_thread.rs b/crates/agent_ui/src/active_thread.rs index 2cad9132950787b9e5404e638275fb92147db5a7..2c72c91e277ab2902ec1e243fe46c52cc77035f6 100644 --- a/crates/agent_ui/src/active_thread.rs +++ b/crates/agent_ui/src/active_thread.rs @@ -1723,7 +1723,7 @@ impl ActiveThread { let editor = cx.new(|cx| { let mut editor = Editor::new( - editor::EditorMode::AutoHeight { + editor::EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(4), }, diff --git a/crates/agent_ui/src/agent_diff.rs b/crates/agent_ui/src/agent_diff.rs index e07424987c48ef917b9470adbdfdbc6812957967..86e5f8a1ed529b76396ccf03084e29cedaa7a3e2 100644 --- a/crates/agent_ui/src/agent_diff.rs +++ b/crates/agent_ui/src/agent_diff.rs @@ -1046,7 +1046,7 @@ impl ToolbarItemView for AgentDiffToolbar { } if let Some(editor) = item.act_as::(cx) - && editor.read(cx).mode().is_full() + && editor.read(cx).display_mode().is_full() { let agent_diff = AgentDiff::global(cx); @@ -1549,7 +1549,7 @@ impl AgentDiff { } fn full_editor_buffer(editor: &Editor, cx: &App) -> Option> { - if editor.mode().is_full() { + if editor.display_mode().is_full() { editor .buffer() .read(cx) diff --git a/crates/agent_ui/src/context_picker/completion_provider.rs b/crates/agent_ui/src/context_picker/completion_provider.rs index 020d799c799f4184494fc3d9ec6a0ef8119a9897..978052712c6682ab5b7fc1a7730123725bcacf95 100644 --- a/crates/agent_ui/src/context_picker/completion_provider.rs +++ b/crates/agent_ui/src/context_picker/completion_provider.rs @@ -1244,7 +1244,7 @@ mod tests { let editor = workspace.update_in(&mut cx, |workspace, window, cx| { let editor = cx.new(|cx| { Editor::new( - editor::EditorMode::full(), + editor::EditorDisplayMode::full(), multi_buffer::MultiBuffer::build_simple("", cx), None, window, diff --git a/crates/agent_ui/src/inline_prompt_editor.rs b/crates/agent_ui/src/inline_prompt_editor.rs index a626122769f656cf6627d104d00f4fa3a368e7db..400927281634149c08bd5ad9382bf477c387a44f 100644 --- a/crates/agent_ui/src/inline_prompt_editor.rs +++ b/crates/agent_ui/src/inline_prompt_editor.rs @@ -16,7 +16,8 @@ use db::kvp::Dismissable; use editor::actions::Paste; use editor::display_map::EditorMargins; use editor::{ - ContextMenuOptions, Editor, EditorElement, EditorEvent, EditorMode, EditorStyle, MultiBuffer, + ContextMenuOptions, Editor, EditorDisplayMode, EditorElement, EditorEvent, EditorStyle, + MultiBuffer, actions::{MoveDown, MoveUp}, }; use feature_flags::{FeatureFlagAppExt as _, ZedProFeatureFlag}; @@ -869,7 +870,7 @@ impl PromptEditor { let prompt_editor = cx.new(|cx| { let mut editor = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(Self::MAX_LINES as usize), }, @@ -1048,7 +1049,7 @@ impl PromptEditor { let prompt_editor = cx.new(|cx| { let mut editor = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(Self::MAX_LINES as usize), }, diff --git a/crates/agent_ui/src/message_editor.rs b/crates/agent_ui/src/message_editor.rs index f578ccabe45706d6285877a85f7fc84084eeb7fe..7f0254564fe814ac19149649329cf48b0ed8d4d2 100644 --- a/crates/agent_ui/src/message_editor.rs +++ b/crates/agent_ui/src/message_editor.rs @@ -22,8 +22,8 @@ use collections::{HashMap, HashSet}; use editor::actions::{MoveUp, Paste}; use editor::display_map::CreaseId; use editor::{ - Addon, AnchorRangeExt, ContextMenuOptions, ContextMenuPlacement, Editor, EditorElement, - EditorEvent, EditorMode, EditorStyle, MultiBuffer, + Addon, AnchorRangeExt, ContextMenuOptions, ContextMenuPlacement, Editor, EditorDisplayMode, + EditorElement, EditorEvent, EditorStyle, MultiBuffer, }; use file_icons::FileIcons; use fs::Fs; @@ -127,7 +127,7 @@ pub(crate) fn create_editor( }; let mut editor = Editor::new( - editor::EditorMode::AutoHeight { + editor::EditorDisplayMode::AutoHeight { min_lines, max_lines, }, @@ -312,13 +312,13 @@ impl MessageEditor { self.editor_is_expanded = is_expanded; self.editor.update(cx, |editor, _| { if self.editor_is_expanded { - editor.set_mode(EditorMode::Full { + editor.set_display_mode(EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: false, show_active_line_background: false, sized_by_content: false, }) } else { - editor.set_mode(EditorMode::AutoHeight { + editor.set_display_mode(EditorDisplayMode::AutoHeight { min_lines: MIN_EDITOR_LINES, max_lines: Some(MAX_EDITOR_LINES), }) diff --git a/crates/assistant_tools/src/edit_file_tool.rs b/crates/assistant_tools/src/edit_file_tool.rs index 95b01c40eb96472caf85f239b2212f25e06fe9e2..165a46a5cb653f611e872310114d0919ca296e98 100644 --- a/crates/assistant_tools/src/edit_file_tool.rs +++ b/crates/assistant_tools/src/edit_file_tool.rs @@ -11,7 +11,7 @@ use assistant_tool::{ AnyToolCard, Tool, ToolCard, ToolResult, ToolResultContent, ToolResultOutput, ToolUseStatus, }; use buffer_diff::{BufferDiff, BufferDiffSnapshot}; -use editor::{Editor, EditorMode, MinimapVisibility, MultiBuffer, PathKey}; +use editor::{Editor, EditorDisplayMode, MinimapVisibility, MultiBuffer, PathKey}; use futures::StreamExt; use gpui::{ Animation, AnimationExt, AnyWindowHandle, App, AppContext, AsyncApp, Entity, Task, @@ -582,7 +582,7 @@ impl EditFileToolCard { let editor = cx.new(|cx| { let mut editor = Editor::new( - EditorMode::Full { + EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: false, show_active_line_background: false, sized_by_content: true, diff --git a/crates/debugger_ui/src/tests/debugger_panel.rs b/crates/debugger_ui/src/tests/debugger_panel.rs index ab6d5cb9605d5d774187f836130fdae66a8d3404..e3fde56b20d81de3de8b885ec3ebd9db4040aca1 100644 --- a/crates/debugger_ui/src/tests/debugger_panel.rs +++ b/crates/debugger_ui/src/tests/debugger_panel.rs @@ -14,7 +14,7 @@ use dap::{ }, }; use editor::{ - ActiveDebugLine, Editor, EditorMode, MultiBuffer, + ActiveDebugLine, Editor, EditorDisplayMode, MultiBuffer, actions::{self}, }; use gpui::{BackgroundExecutor, TestAppContext, VisualTestContext}; @@ -1121,7 +1121,7 @@ async fn test_send_breakpoints_when_editor_has_been_saved( let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project.clone()), window, @@ -1290,7 +1290,7 @@ async fn test_unsetting_breakpoints_on_clear_breakpoint_action( let (first_editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(first, cx), Some(project.clone()), window, @@ -1300,7 +1300,7 @@ async fn test_unsetting_breakpoints_on_clear_breakpoint_action( let (second_editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(second, cx), Some(project.clone()), window, @@ -1513,7 +1513,7 @@ async fn test_active_debug_line_setting(executor: BackgroundExecutor, cx: &mut T let (main_editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(main_buffer, cx), Some(project.clone()), window, @@ -1523,7 +1523,7 @@ async fn test_active_debug_line_setting(executor: BackgroundExecutor, cx: &mut T let (second_editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(second_buffer, cx), Some(project.clone()), window, diff --git a/crates/debugger_ui/src/tests/inline_values.rs b/crates/debugger_ui/src/tests/inline_values.rs index 9f921ec969debc5247d531469c5132e8485c163b..87abb2a81b862b089067a9c0fcf2d8b6681afb52 100644 --- a/crates/debugger_ui/src/tests/inline_values.rs +++ b/crates/debugger_ui/src/tests/inline_values.rs @@ -1,7 +1,7 @@ use std::{path::Path, sync::Arc}; use dap::{Scope, StackFrame, Variable, requests::Variables}; -use editor::{Editor, EditorMode, MultiBuffer}; +use editor::{Editor, EditorDisplayMode, MultiBuffer}; use gpui::{BackgroundExecutor, TestAppContext, VisualTestContext}; use language::{Language, LanguageConfig, LanguageMatcher, tree_sitter_python, tree_sitter_rust}; use project::{FakeFs, Project}; @@ -226,7 +226,7 @@ fn main() { let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project), window, @@ -1595,7 +1595,7 @@ def process_data(untyped_param, typed_param: int, another_typed: str): let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project), window, @@ -2093,7 +2093,7 @@ async fn test_inline_values_util( let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project), window, diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index f0745c8850d9fca6097d8f768e6e55f205839b8d..0412ee17640e3a97f0980b565ed83c539711611b 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -496,7 +496,7 @@ pub enum SelectMode { } #[derive(Clone, PartialEq, Eq, Debug)] -pub enum EditorMode { +pub enum EditorDisplayMode { SingleLine, AutoHeight { min_lines: usize, @@ -515,7 +515,7 @@ pub enum EditorMode { }, } -impl EditorMode { +impl EditorDisplayMode { pub fn full() -> Self { Self::Full { scale_ui_elements_with_buffer_font_size: true, @@ -759,7 +759,7 @@ pub enum MinimapVisibility { } impl MinimapVisibility { - fn for_mode(mode: &EditorMode, cx: &App) -> Self { + fn for_display_mode(mode: &EditorDisplayMode, cx: &App) -> Self { if mode.is_full() { Self::Enabled { setting_configuration: EditorSettings::get_global(cx).minimap.minimap_enabled(), @@ -1046,7 +1046,7 @@ pub struct Editor { show_cursor_names: bool, hovered_cursors: HashMap>, pub show_local_selections: bool, - mode: EditorMode, + display_mode: EditorDisplayMode, show_breadcrumbs: bool, show_gutter: bool, show_scrollbars: ScrollbarAxes, @@ -1236,7 +1236,7 @@ impl NextScrollCursorCenterTopBottom { #[derive(Clone)] pub struct EditorSnapshot { - pub mode: EditorMode, + pub display_mode: EditorDisplayMode, show_gutter: bool, show_line_numbers: Option, show_git_diff_gutter: Option, @@ -1704,13 +1704,13 @@ impl Editor { pub fn single_line(window: &mut Window, cx: &mut Context) -> Self { let buffer = cx.new(|cx| Buffer::local("", cx)); let buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); - Self::new(EditorMode::SingleLine, buffer, None, window, cx) + Self::new(EditorDisplayMode::SingleLine, buffer, None, window, cx) } pub fn multi_line(window: &mut Window, cx: &mut Context) -> Self { let buffer = cx.new(|cx| Buffer::local("", cx)); let buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); - Self::new(EditorMode::full(), buffer, None, window, cx) + Self::new(EditorDisplayMode::full(), buffer, None, window, cx) } pub fn auto_height( @@ -1722,7 +1722,7 @@ impl Editor { let buffer = cx.new(|cx| Buffer::local("", cx)); let buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); Self::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines, max_lines: Some(max_lines), }, @@ -1743,7 +1743,7 @@ impl Editor { let buffer = cx.new(|cx| Buffer::local("", cx)); let buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); Self::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines, max_lines: None, }, @@ -1761,7 +1761,7 @@ impl Editor { cx: &mut Context, ) -> Self { let buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); - Self::new(EditorMode::full(), buffer, project, window, cx) + Self::new(EditorDisplayMode::full(), buffer, project, window, cx) } pub fn for_multibuffer( @@ -1770,12 +1770,12 @@ impl Editor { window: &mut Window, cx: &mut Context, ) -> Self { - Self::new(EditorMode::full(), buffer, project, window, cx) + Self::new(EditorDisplayMode::full(), buffer, project, window, cx) } pub fn clone(&self, window: &mut Window, cx: &mut Context) -> Self { let mut clone = Self::new( - self.mode.clone(), + self.display_mode.clone(), self.buffer.clone(), self.project.clone(), window, @@ -1796,7 +1796,7 @@ impl Editor { } pub fn new( - mode: EditorMode, + mode: EditorDisplayMode, buffer: Entity, project: Option>, window: &mut Window, @@ -1806,7 +1806,7 @@ impl Editor { } fn new_internal( - mode: EditorMode, + mode: EditorDisplayMode, buffer: Entity, project: Option>, display_map: Option>, @@ -1888,8 +1888,8 @@ impl Editor { blink_manager }); - let soft_wrap_mode_override = - matches!(mode, EditorMode::SingleLine).then(|| language_settings::SoftWrap::None); + let soft_wrap_mode_override = matches!(mode, EditorDisplayMode::SingleLine) + .then(|| language_settings::SoftWrap::None); let mut project_subscriptions = Vec::new(); if full_mode && let Some(project) = project.as_ref() { @@ -2068,15 +2068,19 @@ impl Editor { .detach(); } - let show_indent_guides = - if matches!(mode, EditorMode::SingleLine | EditorMode::Minimap { .. }) { - Some(false) - } else { - None - }; + let show_indent_guides = if matches!( + mode, + EditorDisplayMode::SingleLine | EditorDisplayMode::Minimap { .. } + ) { + Some(false) + } else { + None + }; let breakpoint_store = match (&mode, project.as_ref()) { - (EditorMode::Full { .. }, Some(project)) => Some(project.read(cx).breakpoint_store()), + (EditorDisplayMode::Full { .. }, Some(project)) => { + Some(project.read(cx).breakpoint_store()) + } _ => None, }; @@ -2132,8 +2136,8 @@ impl Editor { horizontal: full_mode, vertical: full_mode, }, - minimap_visibility: MinimapVisibility::for_mode(&mode, cx), - offset_content: !matches!(mode, EditorMode::SingleLine), + minimap_visibility: MinimapVisibility::for_display_mode(&mode, cx), + offset_content: !matches!(mode, EditorDisplayMode::SingleLine), show_breadcrumbs: EditorSettings::get_global(cx).toolbar.breadcrumbs, show_gutter: full_mode, show_line_numbers: (!full_mode).then_some(false), @@ -2289,7 +2293,7 @@ impl Editor { .hide_mouse .unwrap_or_default(), change_list: ChangeList::new(), - mode, + display_mode: mode, selection_drag_state: SelectionDragState::None, folding_newlines: Task::ready(()), default_editor_mode: vim_mode_setting::EditorMode::default(), @@ -2418,7 +2422,7 @@ impl Editor { editor.update_lsp_data(false, None, window, cx); } - if editor.mode.is_full() { + if editor.display_mode.is_full() { editor.report_editor_event(ReportEditorEvent::EditorOpened, None, cx); } @@ -2487,11 +2491,11 @@ impl Editor { ) -> KeyContext { let mut key_context = KeyContext::new_with_defaults(); key_context.add("Editor"); - let mode = match self.mode { - EditorMode::SingleLine => "single_line", - EditorMode::AutoHeight { .. } => "auto_height", - EditorMode::Minimap { .. } => "minimap", - EditorMode::Full { .. } => "full", + let mode = match self.display_mode { + EditorDisplayMode::SingleLine => "single_line", + EditorDisplayMode::AutoHeight { .. } => "auto_height", + EditorDisplayMode::Minimap { .. } => "minimap", + EditorDisplayMode::Full { .. } => "full", }; if EditorSettings::jupyter_enabled(cx) { @@ -2755,7 +2759,7 @@ impl Editor { .flatten(); EditorSnapshot { - mode: self.mode.clone(), + display_mode: self.display_mode.clone(), show_gutter: self.show_gutter, show_line_numbers: self.show_line_numbers, show_git_diff_gutter: self.show_git_diff_gutter, @@ -2792,12 +2796,12 @@ impl Editor { .excerpt_containing(self.selections.newest_anchor().head(), cx) } - pub fn mode(&self) -> &EditorMode { - &self.mode + pub fn display_mode(&self) -> &EditorDisplayMode { + &self.display_mode } - pub fn set_mode(&mut self, mode: EditorMode) { - self.mode = mode; + pub fn set_display_mode(&mut self, mode: EditorDisplayMode) { + self.display_mode = mode; } pub fn collaboration_hub(&self) -> Option<&dyn CollaborationHub> { @@ -3237,7 +3241,7 @@ impl Editor { use text::ToOffset as _; use text::ToPoint as _; - if self.mode.is_minimap() + if self.display_mode.is_minimap() || WorkspaceSettings::get(None, cx).restore_on_startup == RestoreOnStartupBehavior::None { return; @@ -3920,7 +3924,7 @@ impl Editor { return; } - if self.mode.is_full() + if self.display_mode.is_full() && self.change_selections(Default::default(), window, cx, |s| s.try_cancel()) { return; @@ -3963,7 +3967,9 @@ impl Editor { return true; } - if self.mode.is_full() && matches!(self.active_diagnostics, ActiveDiagnostic::Group(_)) { + if self.display_mode.is_full() + && matches!(self.active_diagnostics, ActiveDiagnostic::Group(_)) + { self.dismiss_diagnostics(cx); return true; } @@ -5177,7 +5183,7 @@ impl Editor { } fn refresh_inlay_hints(&mut self, reason: InlayHintRefreshReason, cx: &mut Context) { - if self.semantics_provider.is_none() || !self.mode.is_full() { + if self.semantics_provider.is_none() || !self.display_mode.is_full() { return; } @@ -6854,7 +6860,7 @@ impl Editor { &mut self, cx: &mut Context, ) -> Option<(String, Range)> { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { return None; } if !EditorSettings::get_global(cx).selection_highlight { @@ -6953,7 +6959,7 @@ impl Editor { fn refresh_single_line_folds(&mut self, window: &mut Window, cx: &mut Context) { struct NewlineFold; let type_id = std::any::TypeId::of::(); - if !self.mode.is_single_line() { + if !self.display_mode.is_single_line() { return; } let snapshot = self.snapshot(window, cx); @@ -7179,7 +7185,7 @@ impl Editor { buffer_position: language::Anchor, cx: &App, ) -> EditPredictionSettings { - if !self.mode.is_full() + if !self.display_mode.is_full() || !self.show_edit_predictions_override.unwrap_or(true) || self.edit_predictions_disabled_in_scope(buffer, buffer_position, cx) { @@ -8518,7 +8524,7 @@ impl Editor { window: &mut Window, cx: &mut App, ) -> Option<(AnyElement, gpui::Point)> { - if self.mode().is_minimap() { + if self.display_mode().is_minimap() { return None; } let active_edit_prediction = self.active_edit_prediction.as_ref()?; @@ -9955,7 +9961,7 @@ impl Editor { } pub fn backtab(&mut self, _: &Backtab, window: &mut Window, cx: &mut Context) { - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -9968,7 +9974,7 @@ impl Editor { } pub fn tab(&mut self, _: &Tab, window: &mut Window, cx: &mut Context) { - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -10091,7 +10097,7 @@ impl Editor { if self.read_only(cx) { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -10199,7 +10205,7 @@ impl Editor { if self.read_only(cx) { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -10276,7 +10282,7 @@ impl Editor { if self.read_only(cx) { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -11521,7 +11527,7 @@ impl Editor { pub fn move_line_up(&mut self, _: &MoveLineUp, window: &mut Window, cx: &mut Context) { self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx); - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -11632,7 +11638,7 @@ impl Editor { cx: &mut Context, ) { self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx); - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -11784,7 +11790,7 @@ impl Editor { pub fn rewrap(&mut self, _: &Rewrap, _: &mut Window, cx: &mut Context) { self.hide_mouse_cursor(HideMouseCursorOrigin::TypingAction, cx); - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -12495,7 +12501,7 @@ impl Editor { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -12538,7 +12544,7 @@ impl Editor { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -12575,7 +12581,7 @@ impl Editor { return; } - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -12673,7 +12679,7 @@ impl Editor { return; } - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -12723,7 +12729,7 @@ impl Editor { pub fn move_down(&mut self, _: &MoveDown, window: &mut Window, cx: &mut Context) { self.take_rename(true, window, cx); - if self.mode.is_single_line() { + if self.display_mode.is_single_line() { cx.propagate(); return; } @@ -12797,7 +12803,7 @@ impl Editor { return; } - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13281,7 +13287,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13302,7 +13308,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13323,7 +13329,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13344,7 +13350,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13365,7 +13371,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13390,7 +13396,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13415,7 +13421,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13440,7 +13446,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13465,7 +13471,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13486,7 +13492,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13507,7 +13513,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13528,7 +13534,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13549,7 +13555,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -13574,7 +13580,7 @@ impl Editor { } pub fn move_to_end(&mut self, _: &MoveToEnd, window: &mut Window, cx: &mut Context) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } @@ -14623,7 +14629,7 @@ impl Editor { let advance_downwards = action.advance_downwards && selections_on_single_row && !selections_selecting - && !matches!(this.mode, EditorMode::SingleLine); + && !matches!(this.display_mode, EditorDisplayMode::SingleLine); if advance_downwards { let snapshot = this.buffer.read(cx).snapshot(cx); @@ -16948,7 +16954,7 @@ impl Editor { } pub fn diagnostics_enabled(&self) -> bool { - self.diagnostics_enabled && self.mode.is_full() + self.diagnostics_enabled && self.display_mode.is_full() } pub fn inline_diagnostics_enabled(&self) -> bool { @@ -17108,7 +17114,7 @@ impl Editor { window: &Window, cx: &mut Context, ) -> Option<()> { - if !self.mode().is_full() { + if !self.display_mode().is_full() { return None; } let pull_diagnostics_settings = ProjectSettings::get_global(cx) @@ -18390,7 +18396,7 @@ impl Editor { const MINIMAP_FONT_WEIGHT: gpui::FontWeight = gpui::FontWeight::BLACK; let mut minimap = Editor::new_internal( - EditorMode::Minimap { + EditorDisplayMode::Minimap { parent: cx.weak_entity(), }, self.buffer.clone(), @@ -18492,7 +18498,7 @@ impl Editor { // We intentionally do not inform the display map about the minimap style // so that wrapping is not recalculated and stays consistent for the editor // and its linked minimap. - if !self.mode.is_minimap() { + if !self.display_mode.is_minimap() { let rem_size = window.rem_size(); self.display_map.update(cx, |map, cx| { map.set_font( @@ -19038,7 +19044,9 @@ impl Editor { } pub fn render_git_blame_gutter(&self, cx: &App) -> bool { - !self.mode().is_minimap() && self.show_git_blame_gutter && self.has_blame_entries(cx) + !self.display_mode().is_minimap() + && self.show_git_blame_gutter + && self.has_blame_entries(cx) } pub fn render_git_blame_inline(&self, window: &Window, cx: &App) -> bool { @@ -20309,9 +20317,9 @@ impl Editor { let project_settings = ProjectSettings::get_global(cx); self.serialize_dirty_buffers = - !self.mode.is_minimap() && project_settings.session.restore_unsaved_buffers; + !self.display_mode.is_minimap() && project_settings.session.restore_unsaved_buffers; - if self.mode.is_full() { + if self.display_mode.is_full() { let show_inline_diagnostics = project_settings.diagnostics.inline.enabled; let inline_blame_enabled = project_settings.git.inline_blame_enabled(); if self.show_inline_diagnostics != show_inline_diagnostics { @@ -20329,7 +20337,7 @@ impl Editor { != minimap_settings.minimap_enabled() { self.set_minimap_visibility( - MinimapVisibility::for_mode(self.mode(), cx), + MinimapVisibility::for_display_mode(self.display_mode(), cx), window, cx, ); @@ -21162,7 +21170,7 @@ impl Editor { } pub fn register_addon(&mut self, instance: T) { - if self.mode.is_minimap() { + if self.display_mode.is_minimap() { return; } self.addons @@ -21215,7 +21223,7 @@ impl Editor { cx: &mut Context, ) { if self.is_singleton(cx) - && !self.mode.is_minimap() + && !self.display_mode.is_minimap() && WorkspaceSettings::get(None, cx).restore_on_startup != RestoreOnStartupBehavior::None { let buffer_snapshot = OnceCell::new(); @@ -22946,8 +22954,8 @@ impl Render for Editor { fn render(&mut self, _: &mut Window, cx: &mut Context) -> impl IntoElement { let settings = ThemeSettings::get_global(cx); - let mut text_style = match self.mode { - EditorMode::SingleLine | EditorMode::AutoHeight { .. } => TextStyle { + let mut text_style = match self.display_mode { + EditorDisplayMode::SingleLine | EditorDisplayMode::AutoHeight { .. } => TextStyle { color: cx.theme().colors().editor_foreground, font_family: settings.ui_font.family.clone(), font_features: settings.ui_font.features.clone(), @@ -22957,7 +22965,7 @@ impl Render for Editor { line_height: relative(settings.buffer_line_height.value()), ..Default::default() }, - EditorMode::Full { .. } | EditorMode::Minimap { .. } => TextStyle { + EditorDisplayMode::Full { .. } | EditorDisplayMode::Minimap { .. } => TextStyle { color: cx.theme().colors().editor_foreground, font_family: settings.buffer_font.family.clone(), font_features: settings.buffer_font.features.clone(), @@ -22972,11 +22980,11 @@ impl Render for Editor { text_style.refine(text_style_refinement) } - let background = match self.mode { - EditorMode::SingleLine => cx.theme().system().transparent, - EditorMode::AutoHeight { .. } => cx.theme().system().transparent, - EditorMode::Full { .. } => cx.theme().colors().editor_background, - EditorMode::Minimap { .. } => cx.theme().colors().editor_background.opacity(0.7), + let background = match self.display_mode { + EditorDisplayMode::SingleLine => cx.theme().system().transparent, + EditorDisplayMode::AutoHeight { .. } => cx.theme().system().transparent, + EditorDisplayMode::Full { .. } => cx.theme().colors().editor_background, + EditorDisplayMode::Minimap { .. } => cx.theme().colors().editor_background.opacity(0.7), }; EditorElement::new( @@ -23661,7 +23669,7 @@ impl BreakpointPromptEditor { let prompt = cx.new(|cx| { let mut prompt = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(Self::MAX_LINES as usize), }, diff --git a/crates/editor/src/editor_tests.rs b/crates/editor/src/editor_tests.rs index 96261fdb2cd82a31b6e0787b738e514c74d7c5aa..9601c70d83e0336e90693cc86b2fbe1c6b6a4d0c 100644 --- a/crates/editor/src/editor_tests.rs +++ b/crates/editor/src/editor_tests.rs @@ -10075,7 +10075,7 @@ async fn test_multibuffer_format_during_save(cx: &mut TestAppContext) { }); let multi_buffer_editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -10252,7 +10252,7 @@ async fn test_autosave_with_dirty_buffers(cx: &mut TestAppContext) { let editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -12646,7 +12646,7 @@ async fn test_completion_in_multibuffer_with_replace_range(cx: &mut TestAppConte .update(cx, |_, window, cx| { cx.new(|cx| { Editor::new( - EditorMode::Full { + EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: false, show_active_line_background: false, sized_by_content: false, @@ -17433,7 +17433,7 @@ async fn test_multibuffer_in_navigation_history(cx: &mut TestAppContext) { let cx = &mut VisualTestContext::from_window(*workspace.deref(), cx); let multi_buffer_editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -17900,8 +17900,9 @@ async fn test_toggle_diff_expand_in_multi_buffer(cx: &mut TestAppContext) { multibuffer }); - let editor = - cx.add_window(|window, cx| Editor::new(EditorMode::full(), multi_buffer, None, window, cx)); + let editor = cx.add_window(|window, cx| { + Editor::new(EditorDisplayMode::full(), multi_buffer, None, window, cx) + }); editor .update(cx, |editor, _window, cx| { for (buffer, diff_base) in [ @@ -18011,8 +18012,9 @@ async fn test_expand_diff_hunk_at_excerpt_boundary(cx: &mut TestAppContext) { multibuffer }); - let editor = - cx.add_window(|window, cx| Editor::new(EditorMode::full(), multi_buffer, None, window, cx)); + let editor = cx.add_window(|window, cx| { + Editor::new(EditorDisplayMode::full(), multi_buffer, None, window, cx) + }); editor .update(cx, |editor, _window, cx| { let diff = cx.new(|cx| BufferDiff::new_with_base_text(base, &buffer, cx)); @@ -19693,7 +19695,13 @@ async fn test_display_diff_hunks(cx: &mut TestAppContext) { }); let editor = cx.add_window(|window, cx| { - Editor::new(EditorMode::full(), multibuffer, Some(project), window, cx) + Editor::new( + EditorDisplayMode::full(), + multibuffer, + Some(project), + window, + cx, + ) }); cx.run_until_parked(); @@ -20205,7 +20213,7 @@ async fn test_find_enclosing_node_with_task(cx: &mut TestAppContext) { let editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -20332,7 +20340,7 @@ async fn test_folding_buffers(cx: &mut TestAppContext) { }); let multi_buffer_editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer.clone(), Some(project.clone()), window, @@ -20489,7 +20497,7 @@ async fn test_folding_buffers_with_one_excerpt(cx: &mut TestAppContext) { let multi_buffer_editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -20607,7 +20615,7 @@ async fn test_folding_buffer_when_multibuffer_has_only_one_excerpt(cx: &mut Test }); let multi_buffer_editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(project.clone()), window, @@ -20659,7 +20667,13 @@ async fn test_multi_buffer_navigation_with_folded_buffers(cx: &mut TestAppContex ], cx, ); - let mut editor = Editor::new(EditorMode::full(), multi_buffer.clone(), None, window, cx); + let mut editor = Editor::new( + EditorDisplayMode::full(), + multi_buffer.clone(), + None, + window, + cx, + ); let buffer_ids = multi_buffer.read(cx).excerpt_buffer_ids(); // fold all but the second buffer, so that we test navigating between two @@ -20971,7 +20985,7 @@ async fn assert_highlighted_edits( ) { let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple(text, cx); - Editor::new(EditorMode::full(), buffer, None, window, cx) + Editor::new(EditorDisplayMode::full(), buffer, None, window, cx) }); let cx = &mut VisualTestContext::from_window(*window, cx); @@ -21131,7 +21145,7 @@ async fn test_breakpoint_toggling(cx: &mut TestAppContext) { let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project.clone()), window, @@ -21245,7 +21259,7 @@ async fn test_log_breakpoint_editing(cx: &mut TestAppContext) { let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project.clone()), window, @@ -21415,7 +21429,7 @@ async fn test_breakpoint_enabling_and_disabling(cx: &mut TestAppContext) { let (editor, cx) = cx.add_window_view(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), MultiBuffer::build_from_buffer(buffer, cx), Some(project.clone()), window, @@ -22373,7 +22387,7 @@ async fn test_hide_mouse_context_menu_on_modal_opened(cx: &mut TestAppContext) { let cx = &mut VisualTestContext::from_window(*workspace.deref(), cx); let editor = cx.new_window_entity(|window, cx| { Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), buffer, Some(project.clone()), window, diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 797b0d663475cc074a688af8af38f044d0523809..7adbff262976ea54b89d8f4aa5c190ce2fed2534 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -3,7 +3,7 @@ use crate::{ CodeActionSource, ColumnarMode, ConflictsOurs, ConflictsOursMarker, ConflictsOuter, ConflictsTheirs, ConflictsTheirsMarker, ContextMenuPlacement, CursorShape, CustomBlockId, DisplayDiffHunk, DisplayPoint, DisplayRow, DocumentHighlightRead, DocumentHighlightWrite, - EditDisplayMode, EditPrediction, Editor, EditorMode, EditorSettings, EditorSnapshot, + EditDisplayMode, EditPrediction, Editor, EditorDisplayMode, EditorSettings, EditorSnapshot, EditorStyle, FILE_HEADER_HEIGHT, FocusedBlock, GutterDimensions, HalfPageDown, HalfPageUp, HandleInput, HoveredCursor, InlayHintRefreshReason, JumpData, LineDown, LineHighlight, LineUp, MAX_LINE_LEN, MINIMAP_FONT_SIZE, MULTI_BUFFER_EXCERPT_HEADER_HEIGHT, OpenExcerpts, PageDown, @@ -1816,7 +1816,7 @@ impl EditorElement { } } - if !snapshot.mode.is_full() + if !snapshot.display_mode.is_full() || minimap_width.is_zero() || matches!( minimap_settings.show, @@ -3212,7 +3212,7 @@ impl EditorElement { cx: &mut App, ) -> Vec> { let include_fold_statuses = EditorSettings::get_global(cx).gutter.folds - && snapshot.mode.is_full() + && snapshot.display_mode.is_full() && self.editor.read(cx).is_singleton(cx); if include_fold_statuses { row_infos @@ -3314,7 +3314,7 @@ impl EditorElement { style, MAX_LINE_LEN, rows.len(), - &snapshot.mode, + &snapshot.display_mode, editor_width, is_row_soft_wrapped, window, @@ -5282,14 +5282,14 @@ impl EditorElement { if matches!( layout.mode, - EditorMode::Full { .. } | EditorMode::Minimap { .. } + EditorDisplayMode::Full { .. } | EditorDisplayMode::Minimap { .. } ) { let show_active_line_background = match layout.mode { - EditorMode::Full { + EditorDisplayMode::Full { show_active_line_background, .. } => show_active_line_background, - EditorMode::Minimap { .. } => true, + EditorDisplayMode::Minimap { .. } => true, _ => false, }; let mut active_rows = layout.active_rows.iter().peekable(); @@ -7311,7 +7311,7 @@ impl LineWithInvisibles { editor_style: &EditorStyle, max_line_len: usize, max_line_count: usize, - editor_mode: &EditorMode, + editor_mode: &EditorDisplayMode, text_width: Pixels, is_row_soft_wrapped: impl Copy + Fn(usize) -> bool, window: &mut Window, @@ -7839,12 +7839,12 @@ impl EditorElement { /// /// This allows UI elements to scale based on the `buffer_font_size`. fn rem_size(&self, cx: &mut App) -> Option { - match self.editor.read(cx).mode { - EditorMode::Full { + match self.editor.read(cx).display_mode { + EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: true, .. } - | EditorMode::Minimap { .. } => { + | EditorDisplayMode::Minimap { .. } => { let buffer_font_size = self.style.text.font_size; match buffer_font_size { AbsoluteLength::Pixels(pixels) => { @@ -7877,7 +7877,7 @@ impl EditorElement { } fn editor_with_selections(&self, cx: &App) -> Option> { - if let EditorMode::Minimap { parent } = self.editor.read(cx).mode() { + if let EditorDisplayMode::Minimap { parent } = self.editor.read(cx).display_mode() { parent.upgrade() } else { Some(self.editor.clone()) @@ -7909,8 +7909,8 @@ impl Element for EditorElement { self.editor.update(cx, |editor, cx| { editor.set_style(self.style.clone(), window, cx); - let layout_id = match editor.mode { - EditorMode::SingleLine => { + let layout_id = match editor.display_mode { + EditorDisplayMode::SingleLine => { let rem_size = window.rem_size(); let height = self.style.text.line_height_in_pixels(rem_size); let mut style = Style::default(); @@ -7918,7 +7918,7 @@ impl Element for EditorElement { style.size.width = relative(1.).into(); window.request_layout(style, None, cx) } - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines, max_lines, } => { @@ -7945,13 +7945,13 @@ impl Element for EditorElement { }, ) } - EditorMode::Minimap { .. } => { + EditorDisplayMode::Minimap { .. } => { let mut style = Style::default(); style.size.width = relative(1.).into(); style.size.height = relative(1.).into(); window.request_layout(style, None, cx) } - EditorMode::Full { + EditorDisplayMode::Full { sized_by_content, .. } => { let mut style = Style::default(); @@ -7990,7 +7990,7 @@ impl Element for EditorElement { ..Default::default() }; - let is_minimap = self.editor.read(cx).mode.is_minimap(); + let is_minimap = self.editor.read(cx).display_mode.is_minimap(); if !is_minimap { let focus_handle = self.editor.focus_handle(cx); @@ -8065,8 +8065,9 @@ impl Element for EditorElement { editor.set_visible_column_count(editor_width / em_advance); if matches!( - editor.mode, - EditorMode::AutoHeight { .. } | EditorMode::Minimap { .. } + editor.display_mode, + EditorDisplayMode::AutoHeight { .. } + | EditorDisplayMode::Minimap { .. } ) { snapshot } else { @@ -8112,10 +8113,10 @@ impl Element for EditorElement { // The max scroll position for the top of the window let max_scroll_top = if matches!( - snapshot.mode, - EditorMode::SingleLine - | EditorMode::AutoHeight { .. } - | EditorMode::Full { + snapshot.display_mode, + EditorDisplayMode::SingleLine + | EditorDisplayMode::AutoHeight { .. } + | EditorDisplayMode::Full { sized_by_content: true, .. } @@ -8980,7 +8981,7 @@ impl Element for EditorElement { None, ); - let mode = snapshot.mode.clone(); + let mode = snapshot.display_mode.clone(); let (diff_hunk_controls, diff_hunk_control_bounds) = if is_read_only { (vec![], vec![]) @@ -9209,7 +9210,7 @@ pub struct EditorLayout { content_origin: gpui::Point, scrollbars_layout: Option, minimap: Option, - mode: EditorMode, + mode: EditorDisplayMode, wrap_guides: SmallVec<[(Pixels, bool); 2]>, indent_guides: Option>, visible_display_row_range: Range, @@ -9788,7 +9789,7 @@ pub fn layout_line( style, MAX_LINE_LEN, 1, - &snapshot.mode, + &snapshot.display_mode, text_width, is_row_soft_wrapped, window, @@ -10197,7 +10198,7 @@ mod tests { let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple(&"a ".to_string().repeat(100), cx); let mut editor = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: None, }, @@ -10233,7 +10234,7 @@ mod tests { let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple(&"a ".to_string().repeat(100), cx); - let mut editor = Editor::new(EditorMode::full(), buffer, None, window, cx); + let mut editor = Editor::new(EditorDisplayMode::full(), buffer, None, window, cx); editor.set_soft_wrap_mode(language_settings::SoftWrap::EditorWidth, cx); editor }); @@ -10260,7 +10261,7 @@ mod tests { init_test(cx, |_| {}); let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple(&sample_text(6, 6, 'a'), cx); - Editor::new(EditorMode::full(), buffer, None, window, cx) + Editor::new(EditorDisplayMode::full(), buffer, None, window, cx) }); let editor = window.root(cx).unwrap(); @@ -10361,7 +10362,7 @@ mod tests { let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple(&(sample_text(6, 6, 'a') + "\n"), cx); - Editor::new(EditorMode::full(), buffer, None, window, cx) + Editor::new(EditorDisplayMode::full(), buffer, None, window, cx) }); let cx = &mut VisualTestContext::from_window(*window, cx); let editor = window.root(cx).unwrap(); @@ -10432,7 +10433,7 @@ mod tests { let window = cx.add_window(|window, cx| { let buffer = MultiBuffer::build_simple("", cx); - Editor::new(EditorMode::full(), buffer, None, window, cx) + Editor::new(EditorDisplayMode::full(), buffer, None, window, cx) }); let cx = &mut VisualTestContext::from_window(*window, cx); let editor = window.root(cx).unwrap(); @@ -10518,7 +10519,7 @@ mod tests { let actual_invisibles = collect_invisibles_from_new_editor( cx, - EditorMode::full(), + EditorDisplayMode::full(), input_text, px(500.0), show_line_numbers, @@ -10536,8 +10537,8 @@ mod tests { }); for editor_mode_without_invisibles in [ - EditorMode::SingleLine, - EditorMode::AutoHeight { + EditorDisplayMode::SingleLine, + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(100), }, @@ -10615,7 +10616,7 @@ mod tests { let actual_invisibles = collect_invisibles_from_new_editor( cx, - EditorMode::full(), + EditorDisplayMode::full(), &input_text, px(editor_width), show_line_numbers, @@ -10654,7 +10655,7 @@ mod tests { fn collect_invisibles_from_new_editor( cx: &mut TestAppContext, - editor_mode: EditorMode, + editor_mode: EditorDisplayMode, input_text: &str, editor_width: Pixels, show_line_numbers: bool, diff --git a/crates/editor/src/items.rs b/crates/editor/src/items.rs index afc5767de010d67bdbe3e6fd21e1ffcfe840b801..a3aa255819458281b42120bd4e94379b144fde0b 100644 --- a/crates/editor/src/items.rs +++ b/crates/editor/src/items.rs @@ -1267,7 +1267,7 @@ impl SerializableItem for Editor { window: &mut Window, cx: &mut Context, ) -> Option>> { - if self.mode.is_minimap() { + if self.display_mode.is_minimap() { return None; } let mut serialize_dirty_buffers = self.serialize_dirty_buffers; @@ -1424,7 +1424,7 @@ impl Editor { cx: &mut Context, write: impl for<'a> FnOnce(&'a mut RestorationData) + 'static, ) { - if self.mode.is_minimap() || !WorkspaceSettings::get(None, cx).restore_on_file_reopen { + if self.display_mode.is_minimap() || !WorkspaceSettings::get(None, cx).restore_on_file_reopen { return; } diff --git a/crates/editor/src/lsp_colors.rs b/crates/editor/src/lsp_colors.rs index 29eb9f249abca71ff3cfbb9f5ad3f56464efe942..967e32458d7af863b09dbca30257b2c748db7c14 100644 --- a/crates/editor/src/lsp_colors.rs +++ b/crates/editor/src/lsp_colors.rs @@ -150,7 +150,7 @@ impl Editor { _: &Window, cx: &mut Context, ) { - if !self.mode().is_full() { + if !self.display_mode().is_full() { return; } let Some(project) = self.project.clone() else { diff --git a/crates/editor/src/mouse_context_menu.rs b/crates/editor/src/mouse_context_menu.rs index 3bc334c54c2f58e6dda2b404039369907c275422..0369ea00da9b799671e50c97a46278f71952cb0c 100644 --- a/crates/editor/src/mouse_context_menu.rs +++ b/crates/editor/src/mouse_context_menu.rs @@ -153,7 +153,7 @@ pub fn deploy_context_menu( } // Don't show context menu for inline editors - if !editor.mode().is_full() { + if !editor.display_mode().is_full() { return; } diff --git a/crates/editor/src/scroll.rs b/crates/editor/src/scroll.rs index 82314486187db99c2ba5c104faa42828dad57cdb..b7e2e0e398b6cc60716c6d562d767631eb3421be 100644 --- a/crates/editor/src/scroll.rs +++ b/crates/editor/src/scroll.rs @@ -4,7 +4,7 @@ pub(crate) mod scroll_amount; use crate::editor_settings::ScrollBeyondLastLine; use crate::{ - Anchor, DisplayPoint, DisplayRow, Editor, EditorEvent, EditorMode, EditorSettings, + Anchor, DisplayPoint, DisplayRow, Editor, EditorDisplayMode, EditorEvent, EditorSettings, InlayHintRefreshReason, MultiBufferSnapshot, RowExt, ToPoint, display_map::{DisplaySnapshot, ToDisplayPoint}, hover_popover::hide_hover, @@ -675,7 +675,7 @@ impl Editor { window: &mut Window, cx: &mut Context, ) { - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } diff --git a/crates/editor/src/scroll/actions.rs b/crates/editor/src/scroll/actions.rs index f8104665f904e08466c72f3c410e58cb941c6b6f..90055bb54fc6c11a2a369f59ee3993f797cf0b6f 100644 --- a/crates/editor/src/scroll/actions.rs +++ b/crates/editor/src/scroll/actions.rs @@ -1,6 +1,6 @@ use super::Axis; use crate::{ - Autoscroll, Editor, EditorMode, NextScreen, NextScrollCursorCenterTopBottom, + Autoscroll, Editor, EditorDisplayMode, NextScreen, NextScrollCursorCenterTopBottom, SCROLL_CENTER_TOP_BOTTOM_DEBOUNCE_TIMEOUT, ScrollCursorBottom, ScrollCursorCenter, ScrollCursorCenterTopBottom, ScrollCursorTop, display_map::DisplayRow, }; @@ -16,7 +16,7 @@ impl Editor { return; } - if matches!(self.mode, EditorMode::SingleLine) { + if matches!(self.display_mode, EditorDisplayMode::SingleLine) { cx.propagate(); return; } diff --git a/crates/editor/src/scroll/autoscroll.rs b/crates/editor/src/scroll/autoscroll.rs index 057d622903ed12b4d996759cd93dc76f2ba9ee8d..712e22250e9ec84574b7e834d035441f4b1446df 100644 --- a/crates/editor/src/scroll/autoscroll.rs +++ b/crates/editor/src/scroll/autoscroll.rs @@ -1,5 +1,5 @@ use crate::{ - DisplayRow, Editor, EditorMode, LineWithInvisibles, RowExt, SelectionEffects, + DisplayRow, Editor, EditorDisplayMode, LineWithInvisibles, RowExt, SelectionEffects, display_map::ToDisplayPoint, scroll::WasScrolled, }; use gpui::{Bounds, Context, Pixels, Window, px}; @@ -184,7 +184,7 @@ impl Editor { } } - let margin = if matches!(self.mode, EditorMode::AutoHeight { .. }) { + let margin = if matches!(self.display_mode, EditorDisplayMode::AutoHeight { .. }) { 0. } else { ((visible_lines - (target_bottom - target_top)) / 2.0).floor() diff --git a/crates/editor/src/test.rs b/crates/editor/src/test.rs index 960fecf59a8ae80d168f5ab82c74f32dfa7d4745..f1b04328a20d256ab63ba1a77b279c70ba9691ae 100644 --- a/crates/editor/src/test.rs +++ b/crates/editor/src/test.rs @@ -5,7 +5,7 @@ use std::{rc::Rc, sync::LazyLock}; pub use crate::rust_analyzer_ext::expand_macro_recursively; use crate::{ - DisplayPoint, Editor, EditorMode, FoldPlaceholder, MultiBuffer, SelectionEffects, + DisplayPoint, Editor, EditorDisplayMode, FoldPlaceholder, MultiBuffer, SelectionEffects, display_map::{ Block, BlockPlacement, CustomBlockId, DisplayMap, DisplayRow, DisplaySnapshot, ToDisplayPoint, @@ -121,7 +121,7 @@ pub(crate) fn build_editor( window: &mut Window, cx: &mut Context, ) -> Editor { - Editor::new(EditorMode::full(), buffer, None, window, cx) + Editor::new(EditorDisplayMode::full(), buffer, None, window, cx) } pub(crate) fn build_editor_with_project( @@ -130,7 +130,7 @@ pub(crate) fn build_editor_with_project( window: &mut Window, cx: &mut Context, ) -> Editor { - Editor::new(EditorMode::full(), buffer, Some(project), window, cx) + Editor::new(EditorDisplayMode::full(), buffer, Some(project), window, cx) } #[derive(Default)] diff --git a/crates/git_ui/src/conflict_view.rs b/crates/git_ui/src/conflict_view.rs index ee1b82920d7621f6e5b1d4ab9a9b44e151fbf82a..590ada27f62d3c8eb1c77390260784ce8570537d 100644 --- a/crates/git_ui/src/conflict_view.rs +++ b/crates/git_ui/src/conflict_view.rs @@ -44,7 +44,7 @@ impl editor::Addon for ConflictAddon { pub fn register_editor(editor: &mut Editor, buffer: Entity, cx: &mut Context) { // Only show conflict UI for singletons and in the project diff. - if !editor.mode().is_full() + if !editor.display_mode().is_full() || (!editor.buffer().read(cx).is_singleton() && !editor.buffer().read(cx).all_diff_hunks_expanded()) { diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index 958a609a096173eef379d4788d9e0dc64bbfbe5a..1b3aa0d2227ccd6f1bd0f4ecded1c5df2c151e79 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -14,7 +14,7 @@ use anyhow::Context as _; use askpass::AskPassDelegate; use db::kvp::KEY_VALUE_STORE; use editor::{ - Editor, EditorElement, EditorMode, EditorSettings, MultiBuffer, ShowScrollbar, + Editor, EditorDisplayMode, EditorElement, EditorSettings, MultiBuffer, ShowScrollbar, scroll::ScrollbarAutoHide, }; use futures::StreamExt as _; @@ -394,7 +394,7 @@ pub(crate) fn commit_message_editor( let buffer = cx.new(|cx| MultiBuffer::singleton(commit_message_buffer, cx)); let max_lines = if in_panel { MAX_PANEL_EDITOR_LINES } else { 18 }; let mut commit_editor = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(max_lines), }, diff --git a/crates/go_to_line/src/cursor_position.rs b/crates/go_to_line/src/cursor_position.rs index e60a3651aae3f062b16fdfa7aa01a28e5c845e85..83c372b4c33c3c4bf6d1be711cf43498f4ff6df6 100644 --- a/crates/go_to_line/src/cursor_position.rs +++ b/crates/go_to_line/src/cursor_position.rs @@ -104,14 +104,14 @@ impl CursorPosition { cursor_position.update(cx, |cursor_position, cx| { cursor_position.selected_count = SelectionStats::default(); cursor_position.selected_count.selections = editor.selections.count(); - match editor.mode() { - editor::EditorMode::AutoHeight { .. } - | editor::EditorMode::SingleLine - | editor::EditorMode::Minimap { .. } => { + match editor.display_mode() { + editor::EditorDisplayMode::AutoHeight { .. } + | editor::EditorDisplayMode::SingleLine + | editor::EditorDisplayMode::Minimap { .. } => { cursor_position.position = None; cursor_position.context = None; } - editor::EditorMode::Full { .. } => { + editor::EditorDisplayMode::Full { .. } => { let mut last_selection = None::>; let snapshot = editor.buffer().read(cx).snapshot(cx); if snapshot.excerpts().count() > 0 { diff --git a/crates/inspector_ui/src/div_inspector.rs b/crates/inspector_ui/src/div_inspector.rs index 0c2b16b9f49019bff1f7860ae5cd658ae20f12b5..ac57c83f10aa0e9e917c0116d580e63eea9e667b 100644 --- a/crates/inspector_ui/src/div_inspector.rs +++ b/crates/inspector_ui/src/div_inspector.rs @@ -1,6 +1,6 @@ use anyhow::{Result, anyhow}; use editor::{ - Bias, CompletionProvider, Editor, EditorEvent, EditorMode, ExcerptId, MinimapVisibility, + Bias, CompletionProvider, Editor, EditorDisplayMode, EditorEvent, ExcerptId, MinimapVisibility, MultiBuffer, }; use fuzzy::StringMatch; @@ -483,7 +483,7 @@ impl DivInspector { cx.new(|cx| { let multi_buffer = cx.new(|cx| MultiBuffer::singleton(buffer, cx)); let mut editor = Editor::new( - EditorMode::full(), + EditorDisplayMode::full(), multi_buffer, Some(self.project.clone()), window, diff --git a/crates/outline/src/outline.rs b/crates/outline/src/outline.rs index 8c5e78d77bce76e62ef94d2501dbef588cd76f00..9beb62a0a0ae70d61b3eb8e5d953ed9b6f84b581 100644 --- a/crates/outline/src/outline.rs +++ b/crates/outline/src/outline.rs @@ -88,7 +88,7 @@ impl Render for OutlineView { impl OutlineView { fn register(editor: &mut Editor, _: Option<&mut Window>, cx: &mut Context) { - if editor.mode().is_full() { + if editor.display_mode().is_full() { let handle = cx.entity().downgrade(); editor .register_action(move |action, window, cx| { diff --git a/crates/outline_panel/src/outline_panel.rs b/crates/outline_panel/src/outline_panel.rs index 10698cead8656885d0ea2d2f98ebd235e29fec1b..9593d60dd1be229403fbc5c0459e89959676f0cd 100644 --- a/crates/outline_panel/src/outline_panel.rs +++ b/crates/outline_panel/src/outline_panel.rs @@ -4949,7 +4949,7 @@ fn workspace_active_editor( let active_item = workspace.active_item(cx)?; let active_editor = active_item .act_as::(cx) - .filter(|editor| editor.read(cx).mode().is_full())?; + .filter(|editor| editor.read(cx).display_mode().is_full())?; Some((active_item, active_editor)) } diff --git a/crates/repl/src/notebook/cell.rs b/crates/repl/src/notebook/cell.rs index 87b8e1d55ae85e09c0398848a989b7764e0d3b04..d39efd7abf308109d57d1788e27eefba5aaaec3c 100644 --- a/crates/repl/src/notebook/cell.rs +++ b/crates/repl/src/notebook/cell.rs @@ -1,7 +1,7 @@ #![allow(unused, dead_code)] use std::sync::Arc; -use editor::{Editor, EditorMode, MultiBuffer}; +use editor::{Editor, EditorDisplayMode, MultiBuffer}; use futures::future::Shared; use gpui::{ App, Entity, Hsla, RetainAllImageCache, Task, TextStyleRefinement, image_cache, prelude::*, @@ -177,7 +177,7 @@ impl Cell { let editor_view = cx.new(|cx| { let mut editor = Editor::new( - EditorMode::AutoHeight { + EditorDisplayMode::AutoHeight { min_lines: 1, max_lines: Some(1024), }, diff --git a/crates/settings_ui/src/keybindings.rs b/crates/settings_ui/src/keybindings.rs index 9c76725972cfeab2751cb05e968f9cf3e7211418..49dbfcf0bdcd2c6da429cc6ff0a7d0aa5e59bff5 100644 --- a/crates/settings_ui/src/keybindings.rs +++ b/crates/settings_ui/src/keybindings.rs @@ -2699,7 +2699,7 @@ impl ActionArgumentsEditor { let editor = cx.new_window_entity(|window, cx| { let multi_buffer = cx.new(|cx| editor::MultiBuffer::singleton(buffer, cx)); let mut editor = Editor::new( - editor::EditorMode::Full { + editor::EditorDisplayMode::Full { scale_ui_elements_with_buffer_font_size: true, show_active_line_background: false, sized_by_content: true, diff --git a/crates/vim/src/test.rs b/crates/vim/src/test.rs index ce04b621cb91c7b6b7da57bd1e1b74e9c0e00bbc..a2136de2bc3b1c94f32c0c8905363942e3c386ac 100644 --- a/crates/vim/src/test.rs +++ b/crates/vim/src/test.rs @@ -7,7 +7,7 @@ use std::time::Duration; use collections::HashMap; use command_palette::CommandPalette; use editor::{ - AnchorRangeExt, DisplayPoint, Editor, EditorMode, MultiBuffer, actions::DeleteLine, + AnchorRangeExt, DisplayPoint, Editor, EditorDisplayMode, MultiBuffer, actions::DeleteLine, display_map::DisplayRow, test::editor_test_context::EditorTestContext, }; use futures::StreamExt; @@ -1784,7 +1784,13 @@ async fn test_folded_multibuffer_excerpts(cx: &mut gpui::TestAppContext) { ], cx, ); - let mut editor = Editor::new(EditorMode::full(), multi_buffer.clone(), None, window, cx); + let mut editor = Editor::new( + EditorDisplayMode::full(), + multi_buffer.clone(), + None, + window, + cx, + ); let buffer_ids = multi_buffer.read(cx).excerpt_buffer_ids(); // fold all but the second buffer, so that we test navigating between two diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index bc275ac68838084fc6c56d0464bd8c5066e6aed3..4b89539f500abde424fd30fcbfba5e87e3457a00 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -1222,7 +1222,7 @@ impl Vim { editor.selections.newest::(cx).is_empty() }); let editor = editor.read(cx); - let editor_mode = editor.mode(); + let editor_mode = editor.display_mode(); if editor_mode.is_full() && !newest_selection_empty diff --git a/crates/zed/src/zed/edit_prediction_registry.rs b/crates/zed/src/zed/edit_prediction_registry.rs index a9abd9bc7409e76c7e4fa6e35668535a951496b4..77d7022483081765e117f1f1d4dcb5080ced3183 100644 --- a/crates/zed/src/zed/edit_prediction_registry.rs +++ b/crates/zed/src/zed/edit_prediction_registry.rs @@ -18,7 +18,7 @@ pub fn init(client: Arc, user_store: Entity, cx: &mut App) { let client = client.clone(); let user_store = user_store.clone(); move |editor: &mut Editor, window, cx: &mut Context| { - if !editor.mode().is_full() { + if !editor.display_mode().is_full() { return; } diff --git a/crates/zed/src/zed/quick_action_bar.rs b/crates/zed/src/zed/quick_action_bar.rs index 75015eb5f2001c80bbd20e7928c346f1e097706a..3da3db6b39d6ce20ee1acd1790f8edd0feaddeab 100644 --- a/crates/zed/src/zed/quick_action_bar.rs +++ b/crates/zed/src/zed/quick_action_bar.rs @@ -119,7 +119,7 @@ impl Render for QuickActionBar { let selection_menu_enabled = editor_value.selection_menu_enabled(cx); let inlay_hints_enabled = editor_value.inlay_hints_enabled(); let inline_values_enabled = editor_value.inline_values_enabled(); - let supports_diagnostics = editor_value.mode().is_full(); + let supports_diagnostics = editor_value.display_mode().is_full(); let diagnostics_enabled = editor_value.diagnostics_max_severity != DiagnosticSeverity::Off; let supports_inline_diagnostics = editor_value.inline_diagnostics_enabled(); let inline_diagnostics_enabled = editor_value.show_inline_diagnostics();