diff --git a/crates/auto_update/src/auto_update.rs b/crates/auto_update/src/auto_update.rs index 300340a225e1cee0d4f3b3e1e2aac1938d820cb8..7353c2597f49a1ac54d89901ec9874b36afc8a90 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 041126271d513eb0d5e81c84eea96e3856d621a6..8950b51a4588be68d91859773f6a48e3ce27d859 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 075c2956ec43ef922e57fa131104433c3b4ac8e7..b3bdc72c91cc8e9f5bb09ded6034f2d55928e46c 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 8394036f398ef8fd1bbfc0ce5e237d71af3631f9..3a1dde072f867b0791ae8fab90d6c6328857bb2a 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 bb3727585b22018c1fa121a8ca175f3108ba668e..de9104a6848d504eb78d28ab45da896d771dca29 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 560506a52938b05ab1375ba527de7af5b3f1cd85..73cd8f6a1d8ae4cbec8fe89b53d912a25026e759 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 458ca51ce35eecdda59eb706e60f1e846d2164c8..3385596f17fbc9e578ac3e9a10b246c7e07e62b0 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 43d1ec6130365415e982003e8e23a62f61667487..24ea4774aa5deda8c45154d7b8bf7c4f30a4709c 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 4c36be682b0d5aa64ce7b5555497a1d9f5e66a5b..366e47ddc640fa6c9ee205debdc7b837b205ebe8 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 87c3b7afdca8c3e78e3d8869856d2402f9674dfa..9eed6c655ea3c493c090ba5f072bfca595bf348a 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 dcce3c80f0788b8d809de0c4d06ad27a104eb43b..0a17fc8baf915fdfbf4663490b064649eeadabd8 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 24f09f108204769dcd0c382c6b4c06c89b5e407c..9192dc75e13997dcd77f10da172ce7084b479a77 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 99df8ce796778c2e97e68887b361d83f048bc0ef..eb69e8e7c18b87bf87b7ce4608f7f865968be9eb 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 34af4ed0e460255ca4c6040458c0bedeb4db31f1..74868e2f91ffc8ed0434336db7765b36504726fc 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 fd1430b1e42454c1783f13755833a36cbd8aaf59..aee646091a407d327579e7a8497d588e17583ede 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 4d33366a7184de3871144a24f7c4f313675fc4c4..cd932ce791fbd769ff249868c5f9e1988e6580f6 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 a487b23716015e2751a75b66a04d0f675275222e..cdfe35f268561edfd5325baf2512703bcfe4b902 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 26f2215bea40b9ed2717d2bbe0de719dc693e7b8..7bd9ce8aecb011e287005803e5e186573b35899c 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 ed2741651249d88b9a18567f04848c33b45c0465..2f71d5b9afcd1bc4c97f474b7431c8c35dbc17ac 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 f918d91b6d77c22ba98ecc6ac1151c7410533184..412e9fb1daf2174e071eca008a54c0b462a9af8a 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 8976a34210493d3892dc101205c4e120d249cd1c..6137f8eff68fe8c427183d848deff77d598e28e6 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 944366e358a3ce13055121e25a2f1a0efee95368..0a7a69bf7392aa5dfc28e6175d8a51ae1c0590ee 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 ae3bcb765d6bdb21da1d98d18175564fe54c7f80..aa8e37814f5204cf18d96bbd05bf0df32fa4e2cd 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 52eca5f8ad3d26a1298778809d1cdd804c51e5e8..d0f50da07ccb8344e839e4acd5d7146687772737 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 23a28b354437ee1316970ecbecd1cd44cf38f408..efb339eed7596c5f625a676fe1e4441a5e8e5313 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 c9dfec9eb060aa1cf941e437896a3647e886c25d..e44b391d84b3f46d96e84c8e97589b6ecbde699e 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 29b013156dc4906964192f452b8bad5056b8f418..89b4e42cbbe551b43e0f9ead4f3f78460f98a733 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 beac87f99c49cd7ed4a4c5adde68b393089f6022..d1ec80de9598c8caa08c866c7b751ff987749419 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 e8c10c6cd2ec228d11d8d7a0f3ec4953e275a7e3..16905849a9d5e923f3574b476cb949c4bc0312e1 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 3717cfc200e224f35e023d0adc0f4f6b6ad974cf..200f83700b6c899d793d551f01dcf830cb9f6235 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 edc7c617d0098ef16d85014f2b38a14f7afd83ef..6e7580a103f3bf7a27217cdb0b246b789caffc44 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 a94bf3ce1c9e4bb02ffa9c79781078e8f27a8be8..282daf8d8f8a83f36e1f5e86e952c181d02e30ac 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 b62168775c3145afaa317b464dfdcf5a777b5916..bd5f2b4c021e7d8239d76ea29d8ef88ddcf8015b 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 18abb2e2c517fa62a5be68b4ceb2a1ce5b70e561..299e77efce6758d8851374632cb737bbdc010f6c 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 5b271762ed2d24e3969851af3316224b41aaa15b..8f241639ea8edbeb614955de8c8223a23de4ec93 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; } }