From 2d5f03e14852891d9090c8728aba4753a48c0401 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 17 May 2023 15:05:20 -0700 Subject: [PATCH] Remove optional path argument when getting settings --- crates/auto_update/src/auto_update.rs | 6 +++--- crates/client/src/client.rs | 5 ++--- crates/client/src/telemetry.rs | 2 +- .../collab_ui/src/sharing_status_indicator.rs | 2 +- crates/copilot/src/copilot.rs | 3 +-- crates/copilot_button/src/copilot_button.rs | 13 ++++++------- crates/diagnostics/src/diagnostics.rs | 2 +- crates/editor/src/blink_manager.rs | 2 +- crates/editor/src/display_map.rs | 2 +- crates/editor/src/editor.rs | 16 ++++++++-------- crates/editor/src/element.rs | 19 +++++++++---------- crates/editor/src/hover_popover.rs | 2 +- crates/editor/src/multi_buffer.rs | 4 ++-- crates/journal/src/journal.rs | 2 +- crates/language/src/buffer.rs | 4 ++-- crates/language/src/language_settings.rs | 15 ++++----------- crates/project/src/project.rs | 9 ++++----- crates/project/src/terminals.rs | 2 +- crates/settings/src/settings_file.rs | 13 +++---------- crates/terminal/src/terminal.rs | 2 +- crates/terminal_view/src/terminal_element.rs | 4 ++-- crates/terminal_view/src/terminal_view.rs | 12 ++++++------ crates/theme/src/theme.rs | 4 +--- crates/theme_testbench/src/theme_testbench.rs | 2 +- crates/vim/src/vim.rs | 4 ++-- crates/welcome/src/base_keymap_picker.rs | 2 +- crates/welcome/src/welcome.rs | 2 +- crates/workspace/src/dock.rs | 5 ++--- crates/workspace/src/item.rs | 4 ++-- crates/workspace/src/pane.rs | 2 +- crates/workspace/src/pane_group.rs | 3 +-- crates/workspace/src/workspace.rs | 4 ++-- crates/zed/src/languages/yaml.rs | 2 +- crates/zed/src/main.rs | 6 +++--- crates/zed/src/zed.rs | 16 +++++----------- 35 files changed, 84 insertions(+), 113 deletions(-) diff --git a/crates/auto_update/src/auto_update.rs b/crates/auto_update/src/auto_update.rs index 300340a225..7353c2597f 100644 --- a/crates/auto_update/src/auto_update.rs +++ b/crates/auto_update/src/auto_update.rs @@ -83,12 +83,12 @@ pub fn init(http_client: Arc, server_url: String, cx: &mut AppCo let auto_updater = cx.add_model(|cx| { let updater = AutoUpdater::new(version, http_client, server_url); - let mut update_subscription = settings::get_setting::(None, cx) + let mut update_subscription = settings::get::(cx) .0 .then(|| updater.start_polling(cx)); cx.observe_global::(move |updater, cx| { - if settings::get_setting::(None, cx).0 { + if settings::get::(cx).0 { if update_subscription.is_none() { update_subscription = Some(updater.start_polling(cx)) } @@ -281,7 +281,7 @@ impl AutoUpdater { let release_channel = cx .has_global::() .then(|| cx.global::().display_name()); - let telemetry = settings::get_setting::(None, cx).metrics; + let telemetry = settings::get::(cx).metrics; (installation_id, release_channel, telemetry) }); diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs index 041126271d..8950b51a45 100644 --- a/crates/client/src/client.rs +++ b/crates/client/src/client.rs @@ -781,7 +781,7 @@ impl Client { self.telemetry().report_mixpanel_event( "read credentials from keychain", Default::default(), - *settings::get_setting::(None, cx), + *settings::get::(cx), ); }); } @@ -1075,8 +1075,7 @@ impl Client { let telemetry = self.telemetry.clone(); let http = self.http.clone(); - let telemetry_settings = - cx.read(|cx| *settings::get_setting::(None, cx)); + let telemetry_settings = cx.read(|cx| *settings::get::(cx)); executor.clone().spawn(async move { // Generate a pair of asymmetric encryption keys. The public key will be used by the diff --git a/crates/client/src/telemetry.rs b/crates/client/src/telemetry.rs index 075c2956ec..b3bdc72c91 100644 --- a/crates/client/src/telemetry.rs +++ b/crates/client/src/telemetry.rs @@ -247,7 +247,7 @@ impl Telemetry { is_staff: bool, cx: &AppContext, ) { - if !settings::get_setting::(None, cx).metrics { + if !settings::get::(cx).metrics { return; } diff --git a/crates/collab_ui/src/sharing_status_indicator.rs b/crates/collab_ui/src/sharing_status_indicator.rs index 8394036f39..3a1dde072f 100644 --- a/crates/collab_ui/src/sharing_status_indicator.rs +++ b/crates/collab_ui/src/sharing_status_indicator.rs @@ -16,7 +16,7 @@ pub fn init(cx: &mut AppContext) { if let Some(room) = call.read(cx).room() { if room.read(cx).is_screen_sharing() { if status_indicator.is_none() - && settings::get_setting::(None, cx).show_call_status_icon + && settings::get::(cx).show_call_status_icon { status_indicator = Some(cx.add_status_bar_item(|_| SharingStatusIndicator)); } diff --git a/crates/copilot/src/copilot.rs b/crates/copilot/src/copilot.rs index bb3727585b..de9104a684 100644 --- a/crates/copilot/src/copilot.rs +++ b/crates/copilot/src/copilot.rs @@ -318,7 +318,7 @@ impl Copilot { fn enable_or_disable_copilot(&mut self, cx: &mut ModelContext) { let http = self.http.clone(); let node_runtime = self.node_runtime.clone(); - if all_language_settings(None, cx).copilot_enabled(None, None) { + if all_language_settings(cx).copilot_enabled(None, None) { if matches!(self.server, CopilotServer::Disabled) { let start_task = cx .spawn({ @@ -786,7 +786,6 @@ impl Copilot { let uri = registered_buffer.uri.clone(); let position = position.to_point_utf16(buffer); let settings = language_settings( - None, buffer.language_at(position).map(|l| l.name()).as_deref(), cx, ); diff --git a/crates/copilot_button/src/copilot_button.rs b/crates/copilot_button/src/copilot_button.rs index 560506a529..73cd8f6a1d 100644 --- a/crates/copilot_button/src/copilot_button.rs +++ b/crates/copilot_button/src/copilot_button.rs @@ -41,7 +41,7 @@ impl View for CopilotButton { } fn render(&mut self, cx: &mut ViewContext) -> AnyElement { - let all_language_settings = &all_language_settings(None, cx); + let all_language_settings = &all_language_settings(cx); if !all_language_settings.copilot.feature_enabled { return Empty::new().into_any(); } @@ -198,7 +198,7 @@ impl CopilotButton { if let Some(language) = self.language.clone() { let fs = fs.clone(); let language_enabled = - language_settings::language_settings(None, Some(language.as_ref()), cx) + language_settings::language_settings(Some(language.as_ref()), cx) .show_copilot_suggestions; menu_options.push(ContextMenuItem::handler( format!( @@ -210,7 +210,7 @@ impl CopilotButton { )); } - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); if let Some(path) = self.path.as_ref() { let path_enabled = settings.copilot_enabled_for_path(path); @@ -282,7 +282,7 @@ impl CopilotButton { let path = snapshot.file_at(suggestion_anchor).map(|file| file.path()); self.editor_enabled = Some( - all_language_settings(None, cx) + all_language_settings(cx) .copilot_enabled(language_name.as_deref(), path.map(|p| p.as_ref())), ); self.language = language_name; @@ -364,15 +364,14 @@ async fn configure_disabled_globs( } fn toggle_copilot_globally(fs: Arc, cx: &mut AppContext) { - let show_copilot_suggestions = all_language_settings(None, cx).copilot_enabled(None, None); + let show_copilot_suggestions = all_language_settings(cx).copilot_enabled(None, None); update_settings_file::(fs, cx, move |file| { file.defaults.show_copilot_suggestions = Some((!show_copilot_suggestions).into()) }); } fn toggle_copilot_for_language(language: Arc, fs: Arc, cx: &mut AppContext) { - let show_copilot_suggestions = - all_language_settings(None, cx).copilot_enabled(Some(&language), None); + let show_copilot_suggestions = all_language_settings(cx).copilot_enabled(Some(&language), None); update_settings_file::(fs, cx, move |file| { file.languages .entry(language) diff --git a/crates/diagnostics/src/diagnostics.rs b/crates/diagnostics/src/diagnostics.rs index 458ca51ce3..3385596f17 100644 --- a/crates/diagnostics/src/diagnostics.rs +++ b/crates/diagnostics/src/diagnostics.rs @@ -679,7 +679,7 @@ impl Item for ProjectDiagnosticsEditor { fn diagnostic_header_renderer(diagnostic: Diagnostic) -> RenderBlock { let (message, highlights) = highlight_diagnostic_message(Vec::new(), &diagnostic.message); Arc::new(move |cx| { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let theme = &settings.theme.editor; let style = theme.diagnostic_header.clone(); let font_size = (style.text_scale_factor diff --git a/crates/editor/src/blink_manager.rs b/crates/editor/src/blink_manager.rs index 43d1ec6130..24ea4774aa 100644 --- a/crates/editor/src/blink_manager.rs +++ b/crates/editor/src/blink_manager.rs @@ -64,7 +64,7 @@ impl BlinkManager { } fn blink_cursors(&mut self, epoch: usize, cx: &mut ModelContext) { - if settings::get_setting::(None, cx).cursor_blink { + if settings::get::(cx).cursor_blink { if epoch == self.blink_epoch && self.enabled && !self.blinking_paused { self.visible = !self.visible; cx.notify(); diff --git a/crates/editor/src/display_map.rs b/crates/editor/src/display_map.rs index 4c36be682b..366e47ddc6 100644 --- a/crates/editor/src/display_map.rs +++ b/crates/editor/src/display_map.rs @@ -277,7 +277,7 @@ impl DisplayMap { .as_singleton() .and_then(|buffer| buffer.read(cx).language()) .map(|language| language.name()); - language_settings(None, language_name.as_deref(), cx).tab_size + language_settings(language_name.as_deref(), cx).tab_size } #[cfg(test)] diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 87c3b7afdc..9eed6c655e 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1246,7 +1246,7 @@ impl Editor { ) -> Self { let editor_view_id = cx.view_id(); let display_map = cx.add_model(|cx| { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let style = build_style(settings, get_field_editor_theme.as_deref(), None, cx); DisplayMap::new( buffer.clone(), @@ -1427,7 +1427,7 @@ impl Editor { fn style(&self, cx: &AppContext) -> EditorStyle { build_style( - settings::get_setting::(None, cx), + settings::get::(cx), self.get_field_editor_theme.as_deref(), self.override_text_style.as_deref(), cx, @@ -2385,7 +2385,7 @@ impl Editor { } fn trigger_completion_on_input(&mut self, text: &str, cx: &mut ViewContext) { - if !settings::get_setting::(None, cx).show_completions_on_input { + if !settings::get::(cx).show_completions_on_input { return; } @@ -3156,7 +3156,7 @@ impl Editor { let language_name = snapshot .language_at(location) .map(|language| language.name()); - let settings = all_language_settings(None, cx); + let settings = all_language_settings(cx); settings.copilot_enabled(language_name.as_deref(), path) } @@ -6902,7 +6902,7 @@ impl Editor { .map(|a| a.to_string()); let telemetry = project.read(cx).client().telemetry().clone(); - let telemetry_settings = *settings::get_setting::(None, cx); + let telemetry_settings = *settings::get::(cx); let event = ClickhouseEvent::Copilot { suggestion_id, @@ -6937,8 +6937,8 @@ impl Editor { .untyped_user_settings() .get("vim_mode") == Some(&serde_json::Value::Bool(true)); - let telemetry_settings = *settings::get_setting::(None, cx); - let copilot_enabled = all_language_settings(None, cx).copilot_enabled(None, None); + let telemetry_settings = *settings::get::(cx); + let copilot_enabled = all_language_settings(cx).copilot_enabled(None, None); let copilot_enabled_for_language = self .buffer .read(cx) @@ -7616,7 +7616,7 @@ pub fn diagnostic_block_renderer(diagnostic: Diagnostic, is_valid: bool) -> Rend } Arc::new(move |cx: &mut BlockContext| { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let theme = &settings.theme.editor; let style = diagnostic_style(diagnostic.severity, is_valid, theme); let font_size = (style.text_scale_factor diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index dcce3c80f0..0a17fc8baf 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -550,7 +550,7 @@ impl EditorElement { let scroll_top = scroll_position.y() * line_height; let show_gutter = matches!( - settings::get_setting::(None, cx) + settings::get::(cx) .git .git_gutter .unwrap_or_default(), @@ -2060,15 +2060,14 @@ impl Element for EditorElement { )); } - let show_scrollbars = - match settings::get_setting::(None, cx).show_scrollbars { - ShowScrollbars::Auto => { - snapshot.has_scrollbar_info() || editor.scroll_manager.scrollbars_visible() - } - ShowScrollbars::System => editor.scroll_manager.scrollbars_visible(), - ShowScrollbars::Always => true, - ShowScrollbars::Never => false, - }; + let show_scrollbars = match settings::get::(cx).show_scrollbars { + ShowScrollbars::Auto => { + snapshot.has_scrollbar_info() || editor.scroll_manager.scrollbars_visible() + } + ShowScrollbars::System => editor.scroll_manager.scrollbars_visible(), + ShowScrollbars::Always => true, + ShowScrollbars::Never => false, + }; let include_root = editor .project diff --git a/crates/editor/src/hover_popover.rs b/crates/editor/src/hover_popover.rs index 24f09f1082..9192dc75e1 100644 --- a/crates/editor/src/hover_popover.rs +++ b/crates/editor/src/hover_popover.rs @@ -37,7 +37,7 @@ pub fn hover(editor: &mut Editor, _: &Hover, cx: &mut ViewContext) { /// The internal hover action dispatches between `show_hover` or `hide_hover` /// depending on whether a point to hover over is provided. pub fn hover_at(editor: &mut Editor, point: Option, cx: &mut ViewContext) { - if settings::get_setting::(None, cx).hover_popover_enabled { + if settings::get::(cx).hover_popover_enabled { if let Some(point) = point { show_hover(editor, point, false, cx); } else { diff --git a/crates/editor/src/multi_buffer.rs b/crates/editor/src/multi_buffer.rs index 99df8ce796..eb69e8e7c1 100644 --- a/crates/editor/src/multi_buffer.rs +++ b/crates/editor/src/multi_buffer.rs @@ -1380,7 +1380,7 @@ impl MultiBuffer { cx: &'a AppContext, ) -> &'a LanguageSettings { let language = self.language_at(point, cx); - language_settings(None, language.map(|l| l.name()).as_deref(), cx) + language_settings(language.map(|l| l.name()).as_deref(), cx) } pub fn for_each_buffer(&self, mut f: impl FnMut(&ModelHandle)) { @@ -2782,7 +2782,7 @@ impl MultiBufferSnapshot { ) -> &'a LanguageSettings { self.point_to_buffer_offset(point) .map(|(buffer, offset)| buffer.settings_at(offset, cx)) - .unwrap_or_else(|| language_settings(None, None, cx)) + .unwrap_or_else(|| language_settings(None, cx)) } pub fn language_scope_at<'a, T: ToOffset>(&'a self, point: T) -> Option { diff --git a/crates/journal/src/journal.rs b/crates/journal/src/journal.rs index 34af4ed0e4..74868e2f91 100644 --- a/crates/journal/src/journal.rs +++ b/crates/journal/src/journal.rs @@ -53,7 +53,7 @@ pub fn init(app_state: Arc, cx: &mut AppContext) { } pub fn new_journal_entry(app_state: Arc, cx: &mut AppContext) { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let journal_dir = match journal_dir(settings.path.as_ref().unwrap()) { Some(journal_dir) => journal_dir, None => { diff --git a/crates/language/src/buffer.rs b/crates/language/src/buffer.rs index fd1430b1e4..aee646091a 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -1827,7 +1827,7 @@ impl BufferSnapshot { pub fn language_indent_size_at(&self, position: T, cx: &AppContext) -> IndentSize { let language_name = self.language_at(position).map(|language| language.name()); - let settings = language_settings(None, language_name.as_deref(), cx); + let settings = language_settings(language_name.as_deref(), cx); if settings.hard_tabs { IndentSize::tab() } else { @@ -2152,7 +2152,7 @@ impl BufferSnapshot { cx: &'a AppContext, ) -> &'a LanguageSettings { let language = self.language_at(position); - language_settings(None, language.map(|l| l.name()).as_deref(), cx) + language_settings(language.map(|l| l.name()).as_deref(), cx) } pub fn language_scope_at(&self, position: D) -> Option { diff --git a/crates/language/src/language_settings.rs b/crates/language/src/language_settings.rs index 4d33366a71..cd932ce791 100644 --- a/crates/language/src/language_settings.rs +++ b/crates/language/src/language_settings.rs @@ -12,19 +12,12 @@ pub fn init(cx: &mut AppContext) { settings::register_setting::(cx); } -pub fn language_settings<'a>( - path: Option<&Path>, - language: Option<&str>, - cx: &'a AppContext, -) -> &'a LanguageSettings { - settings::get_setting::(path, cx).language(language) +pub fn language_settings<'a>(language: Option<&str>, cx: &'a AppContext) -> &'a LanguageSettings { + settings::get::(cx).language(language) } -pub fn all_language_settings<'a>( - path: Option<&Path>, - cx: &'a AppContext, -) -> &'a AllLanguageSettings { - settings::get_setting::(path, cx) +pub fn all_language_settings<'a>(cx: &'a AppContext) -> &'a AllLanguageSettings { + settings::get::(cx) } #[derive(Debug, Clone)] diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index a487b23716..cdfe35f268 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -631,7 +631,7 @@ impl Project { } fn on_settings_changed(&mut self, cx: &mut ModelContext) { - let settings = all_language_settings(None, cx); + let settings = all_language_settings(cx); let mut language_servers_to_start = Vec::new(); for buffer in self.opened_buffers.values() { @@ -2208,7 +2208,7 @@ impl Project { language: Arc, cx: &mut ModelContext, ) { - if !language_settings(None, Some(&language.name()), cx).enable_language_server { + if !language_settings(Some(&language.name()), cx).enable_language_server { return; } @@ -2229,7 +2229,7 @@ impl Project { None => continue, }; - let lsp = settings::get_setting::(None, cx) + let lsp = settings::get::(cx) .lsp .get(&adapter.name.0); let override_options = lsp.map(|s| s.initialization_options.clone()).flatten(); @@ -3259,8 +3259,7 @@ impl Project { for (buffer, buffer_abs_path, language_server) in &buffers_with_paths_and_servers { let settings = buffer.read_with(&cx, |buffer, cx| { let language_name = buffer.language().map(|language| language.name()); - language_settings(buffer_abs_path.as_deref(), language_name.as_deref(), cx) - .clone() + language_settings(language_name.as_deref(), cx).clone() }); let remove_trailing_whitespace = settings.remove_trailing_whitespace_on_save; diff --git a/crates/project/src/terminals.rs b/crates/project/src/terminals.rs index 26f2215bea..7bd9ce8aec 100644 --- a/crates/project/src/terminals.rs +++ b/crates/project/src/terminals.rs @@ -19,7 +19,7 @@ impl Project { "creating terminals as a guest is not supported yet" )); } else { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let terminal = TerminalBuilder::new( working_directory.clone(), diff --git a/crates/settings/src/settings_file.rs b/crates/settings/src/settings_file.rs index ed27416512..2f71d5b9af 100644 --- a/crates/settings/src/settings_file.rs +++ b/crates/settings/src/settings_file.rs @@ -4,14 +4,7 @@ use assets::Assets; use fs::Fs; use futures::{channel::mpsc, StreamExt}; use gpui::{executor::Background, AppContext, AssetSource}; -use std::{ - borrow::Cow, - io::ErrorKind, - path::{Path, PathBuf}, - str, - sync::Arc, - time::Duration, -}; +use std::{borrow::Cow, io::ErrorKind, path::PathBuf, str, sync::Arc, time::Duration}; use util::{paths, ResultExt}; pub fn register_setting(cx: &mut AppContext) { @@ -20,8 +13,8 @@ pub fn register_setting(cx: &mut AppContext) { }); } -pub fn get_setting<'a, T: Setting>(path: Option<&Path>, cx: &'a AppContext) -> &'a T { - cx.global::().get(path) +pub fn get<'a, T: Setting>(cx: &'a AppContext) -> &'a T { + cx.global::().get(None) } pub fn default_settings() -> Cow<'static, str> { diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index f918d91b6d..412e9fb1da 100644 --- a/crates/terminal/src/terminal.rs +++ b/crates/terminal/src/terminal.rs @@ -1149,7 +1149,7 @@ impl Terminal { } pub fn mouse_up(&mut self, e: &MouseUp, origin: Vector2F, cx: &mut ModelContext) { - let setting = settings::get_setting::(None, cx); + let setting = settings::get::(cx); let position = e.position.sub(origin); if self.mouse_mode(e.shift) { diff --git a/crates/terminal_view/src/terminal_element.rs b/crates/terminal_view/src/terminal_element.rs index 8976a34210..6137f8eff6 100644 --- a/crates/terminal_view/src/terminal_element.rs +++ b/crates/terminal_view/src/terminal_element.rs @@ -522,8 +522,8 @@ impl Element for TerminalElement { view: &mut TerminalView, cx: &mut LayoutContext, ) -> (gpui::geometry::vector::Vector2F, Self::LayoutState) { - let settings = settings::get_setting::(None, cx); - let terminal_settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); + let terminal_settings = settings::get::(cx); //Setup layout information let terminal_theme = settings.theme.terminal.clone(); //TODO: Try to minimize this clone. diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 944366e358..0a7a69bf73 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -103,7 +103,7 @@ impl TerminalView { _: &workspace::NewTerminal, cx: &mut ViewContext, ) { - let strategy = settings::get_setting::(None, cx); + let strategy = settings::get::(cx); let working_directory = get_working_directory(workspace, cx, strategy.working_directory.clone()); @@ -217,7 +217,7 @@ impl TerminalView { self.terminal.update(cx, |term, cx| { term.try_keystroke( &Keystroke::parse("ctrl-cmd-space").unwrap(), - settings::get_setting::(None, cx).option_as_meta, + settings::get::(cx).option_as_meta, ) }); } @@ -243,7 +243,7 @@ impl TerminalView { return true; } - match settings::get_setting::(None, cx).blinking { + match settings::get::(cx).blinking { //If the user requested to never blink, don't blink it. TerminalBlink::Off => true, //If the terminal is controlling it, check terminal mode @@ -336,7 +336,7 @@ impl TerminalView { self.terminal.update(cx, |term, cx| { term.try_keystroke( &keystroke, - settings::get_setting::(None, cx).option_as_meta, + settings::get::(cx).option_as_meta, ); }); } @@ -399,7 +399,7 @@ impl View for TerminalView { self.terminal.update(cx, |term, cx| { term.try_keystroke( &event.keystroke, - settings::get_setting::(None, cx).option_as_meta, + settings::get::(cx).option_as_meta, ) }) } @@ -601,7 +601,7 @@ impl Item for TerminalView { .flatten() .or_else(|| { cx.read(|cx| { - let strategy = settings::get_setting::(None, cx) + let strategy = settings::get::(cx) .working_directory .clone(); workspace diff --git a/crates/theme/src/theme.rs b/crates/theme/src/theme.rs index ae3bcb765d..aa8e37814f 100644 --- a/crates/theme/src/theme.rs +++ b/crates/theme/src/theme.rs @@ -17,9 +17,7 @@ pub use theme_registry::ThemeRegistry; pub use theme_settings::ThemeSettings; pub fn current(cx: &AppContext) -> Arc { - settings::get_setting::(None, cx) - .theme - .clone() + settings::get::(cx).theme.clone() } pub fn init(source: impl AssetSource, cx: &mut AppContext) { diff --git a/crates/theme_testbench/src/theme_testbench.rs b/crates/theme_testbench/src/theme_testbench.rs index 52eca5f8ad..d0f50da07c 100644 --- a/crates/theme_testbench/src/theme_testbench.rs +++ b/crates/theme_testbench/src/theme_testbench.rs @@ -219,7 +219,7 @@ impl ThemeTestbench { } fn render_label(text: String, style: &Style, cx: &mut ViewContext) -> Label { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let font_cache = cx.font_cache(); let family_id = settings.buffer_font_family; let font_size = settings::font_size_for_setting(settings.buffer_font_size, cx); diff --git a/crates/vim/src/vim.rs b/crates/vim/src/vim.rs index 23a28b3544..efb339eed7 100644 --- a/crates/vim/src/vim.rs +++ b/crates/vim/src/vim.rs @@ -95,11 +95,11 @@ pub fn init(cx: &mut AppContext) { filter.filtered_namespaces.insert("vim"); }); cx.update_default_global(|vim: &mut Vim, cx: &mut AppContext| { - vim.set_enabled(settings::get_setting::(None, cx).0, cx) + vim.set_enabled(settings::get::(cx).0, cx) }); cx.observe_global::(|cx| { cx.update_default_global(|vim: &mut Vim, cx: &mut AppContext| { - vim.set_enabled(settings::get_setting::(None, cx).0, cx) + vim.set_enabled(settings::get::(cx).0, cx) }); }) .detach(); diff --git a/crates/welcome/src/base_keymap_picker.rs b/crates/welcome/src/base_keymap_picker.rs index c9dfec9eb0..e44b391d84 100644 --- a/crates/welcome/src/base_keymap_picker.rs +++ b/crates/welcome/src/base_keymap_picker.rs @@ -40,7 +40,7 @@ pub struct BaseKeymapSelectorDelegate { impl BaseKeymapSelectorDelegate { fn new(fs: Arc, cx: &mut ViewContext) -> Self { - let base = settings::get_setting::(None, cx); + let base = settings::get::(cx); let selected_index = BaseKeymap::OPTIONS .iter() .position(|(_, value)| value == base) diff --git a/crates/welcome/src/welcome.rs b/crates/welcome/src/welcome.rs index 29b013156d..89b4e42cbb 100644 --- a/crates/welcome/src/welcome.rs +++ b/crates/welcome/src/welcome.rs @@ -64,7 +64,7 @@ impl View for WelcomePage { let theme = theme::current(cx); let width = theme.welcome.page_width; - let telemetry_settings = *settings::get_setting::(None, cx); + let telemetry_settings = *settings::get::(cx); enum Metrics {} enum Diagnostics {} diff --git a/crates/workspace/src/dock.rs b/crates/workspace/src/dock.rs index beac87f99c..d1ec80de95 100644 --- a/crates/workspace/src/dock.rs +++ b/crates/workspace/src/dock.rs @@ -172,9 +172,8 @@ impl Dock { background_actions: BackgroundActions, cx: &mut ViewContext, ) -> Self { - let position = DockPosition::Hidden( - settings::get_setting::(None, cx).default_dock_anchor, - ); + let position = + DockPosition::Hidden(settings::get::(cx).default_dock_anchor); let workspace = cx.weak_handle(); let pane = cx.add_view(|cx| Pane::new(workspace, Some(position.anchor()), background_actions, cx)); diff --git a/crates/workspace/src/item.rs b/crates/workspace/src/item.rs index e8c10c6cd2..16905849a9 100644 --- a/crates/workspace/src/item.rs +++ b/crates/workspace/src/item.rs @@ -450,7 +450,7 @@ impl ItemHandle for ViewHandle { } ItemEvent::Edit => { - let settings = settings::get_setting::(None, cx); + let settings = settings::get::(cx); let debounce_delay = settings.git.gutter_debounce; if let AutosaveSetting::AfterDelay { milliseconds } = @@ -501,7 +501,7 @@ impl ItemHandle for ViewHandle { cx.observe_focus(self, move |workspace, item, focused, cx| { if !focused - && settings::get_setting::(None, cx).autosave + && settings::get::(cx).autosave == AutosaveSetting::OnFocusChange { Pane::autosave_item(&item, workspace.project.clone(), cx) diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index 3717cfc200..200f83700b 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -1024,7 +1024,7 @@ impl Pane { } else if is_dirty && (can_save || is_singleton) { let will_autosave = cx.read(|cx| { matches!( - settings::get_setting::(None, cx).autosave, + settings::get::(cx).autosave, AutosaveSetting::OnFocusChange | AutosaveSetting::OnWindowChange ) && Self::can_autosave_item(&*item, cx) }); diff --git a/crates/workspace/src/pane_group.rs b/crates/workspace/src/pane_group.rs index edc7c617d0..6e7580a103 100644 --- a/crates/workspace/src/pane_group.rs +++ b/crates/workspace/src/pane_group.rs @@ -379,8 +379,7 @@ impl PaneAxis { .with_children(self.members.iter().enumerate().map(|(ix, member)| { let mut flex = 1.0; if member.contains(active_pane) { - flex = settings::get_setting::(None, cx) - .active_pane_magnification; + flex = settings::get::(cx).active_pane_magnification; } let mut member = member.render( diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index a94bf3ce1c..282daf8d8f 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -2359,7 +2359,7 @@ impl Workspace { item.workspace_deactivated(cx); } if matches!( - settings::get_setting::(None, cx).autosave, + settings::get::(cx).autosave, AutosaveSetting::OnWindowChange | AutosaveSetting::OnFocusChange ) { for item in pane.items() { @@ -3140,7 +3140,7 @@ pub fn join_remote_project( } pub fn restart(_: &Restart, cx: &mut AppContext) { - let should_confirm = settings::get_setting::(None, cx).confirm_quit; + let should_confirm = settings::get::(cx).confirm_quit; cx.spawn(|mut cx| async move { let mut workspaces = cx .window_ids() diff --git a/crates/zed/src/languages/yaml.rs b/crates/zed/src/languages/yaml.rs index b62168775c..bd5f2b4c02 100644 --- a/crates/zed/src/languages/yaml.rs +++ b/crates/zed/src/languages/yaml.rs @@ -107,7 +107,7 @@ impl LspAdapter for YamlLspAdapter { "keyOrdering": false }, "[yaml]": { - "editor.tabSize": language_settings(None, Some("YAML"), cx).tab_size, + "editor.tabSize": language_settings(Some("YAML"), cx).tab_size, } })) .boxed(), diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index 18abb2e2c5..299e77efce 100644 --- a/crates/zed/src/main.rs +++ b/crates/zed/src/main.rs @@ -180,7 +180,7 @@ fn main() { client.telemetry().report_mixpanel_event( "start app", Default::default(), - *settings::get_setting::(None, cx), + *settings::get::(cx), ); let app_state = Arc::new(AppState { @@ -441,7 +441,7 @@ fn init_panic_hook(app_version: String) { } fn upload_previous_panics(http: Arc, cx: &mut AppContext) { - let telemetry_settings = *settings::get_setting::(None, cx); + let telemetry_settings = *settings::get::(cx); cx.background() .spawn({ @@ -800,7 +800,7 @@ pub fn dock_default_item_factory( workspace: &mut Workspace, cx: &mut ViewContext, ) -> Option> { - let strategy = settings::get_setting::(None, cx) + let strategy = settings::get::(cx) .working_directory .clone(); let working_directory = get_working_directory(workspace, cx, strategy); diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 5b271762ed..8f241639ea 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -368,7 +368,7 @@ pub fn build_window_options( } fn quit(_: &Quit, cx: &mut gpui::AppContext) { - let should_confirm = settings::get_setting::(None, cx).confirm_quit; + let should_confirm = settings::get::(cx).confirm_quit; cx.spawn(|mut cx| async move { let mut workspaces = cx .window_ids() @@ -484,7 +484,7 @@ pub fn load_default_keymap(cx: &mut AppContext) { KeymapFileContent::load_asset(path, cx).unwrap(); } - if let Some(asset_path) = settings::get_setting::(None, cx).asset_path() { + if let Some(asset_path) = settings::get::(cx).asset_path() { KeymapFileContent::load_asset(asset_path, cx).unwrap(); } } @@ -503,12 +503,11 @@ pub fn handle_keymap_file_changes( keymap_content.clone().add_to_cx(cx).log_err(); }); - let mut old_base_keymap = - cx.read(|cx| *settings::get_setting::(None, cx)); + let mut old_base_keymap = cx.read(|cx| *settings::get::(cx)); drop(settings_subscription); settings_subscription = Some(cx.update(|cx| { cx.observe_global::(move |cx| { - let new_base_keymap = *settings::get_setting::(None, cx); + let new_base_keymap = *settings::get::(cx); if new_base_keymap != old_base_keymap { old_base_keymap = new_base_keymap.clone(); @@ -2047,12 +2046,7 @@ mod tests { for theme_name in themes.list(false).map(|meta| meta.name) { let theme = themes.get(&theme_name).unwrap(); assert_eq!(theme.meta.name, theme_name); - if theme.meta.name - == settings::get_setting::(None, cx) - .theme - .meta - .name - { + if theme.meta.name == settings::get::(cx).theme.meta.name { has_default_theme = true; } }