Remove optional path argument when getting settings

This commit is contained in:
Max Brunsfeld 2023-05-17 15:05:20 -07:00
parent 1f0e79ee9d
commit 2d5f03e148
35 changed files with 84 additions and 113 deletions

View File

@ -83,12 +83,12 @@ pub fn init(http_client: Arc<dyn HttpClient>, 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::<AutoUpdateSetting>(None, cx)
let mut update_subscription = settings::get::<AutoUpdateSetting>(cx)
.0
.then(|| updater.start_polling(cx));
cx.observe_global::<SettingsStore, _>(move |updater, cx| {
if settings::get_setting::<AutoUpdateSetting>(None, cx).0 {
if settings::get::<AutoUpdateSetting>(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::<ReleaseChannel>()
.then(|| cx.global::<ReleaseChannel>().display_name());
let telemetry = settings::get_setting::<TelemetrySettings>(None, cx).metrics;
let telemetry = settings::get::<TelemetrySettings>(cx).metrics;
(installation_id, release_channel, telemetry)
});

View File

@ -781,7 +781,7 @@ impl Client {
self.telemetry().report_mixpanel_event(
"read credentials from keychain",
Default::default(),
*settings::get_setting::<TelemetrySettings>(None, cx),
*settings::get::<TelemetrySettings>(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::<TelemetrySettings>(None, cx));
let telemetry_settings = cx.read(|cx| *settings::get::<TelemetrySettings>(cx));
executor.clone().spawn(async move {
// Generate a pair of asymmetric encryption keys. The public key will be used by the

View File

@ -247,7 +247,7 @@ impl Telemetry {
is_staff: bool,
cx: &AppContext,
) {
if !settings::get_setting::<TelemetrySettings>(None, cx).metrics {
if !settings::get::<TelemetrySettings>(cx).metrics {
return;
}

View File

@ -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::<WorkspaceSettings>(None, cx).show_call_status_icon
&& settings::get::<WorkspaceSettings>(cx).show_call_status_icon
{
status_indicator = Some(cx.add_status_bar_item(|_| SharingStatusIndicator));
}

View File

@ -318,7 +318,7 @@ impl Copilot {
fn enable_or_disable_copilot(&mut self, cx: &mut ModelContext<Copilot>) {
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,
);

View File

@ -41,7 +41,7 @@ impl View for CopilotButton {
}
fn render(&mut self, cx: &mut ViewContext<Self>) -> AnyElement<Self> {
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::<AllLanguageSettings>(None, cx);
let settings = settings::get::<AllLanguageSettings>(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<dyn Fs>, 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::<AllLanguageSettings>(fs, cx, move |file| {
file.defaults.show_copilot_suggestions = Some((!show_copilot_suggestions).into())
});
}
fn toggle_copilot_for_language(language: Arc<str>, fs: Arc<dyn Fs>, 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::<AllLanguageSettings>(fs, cx, move |file| {
file.languages
.entry(language)

View File

@ -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::<ThemeSettings>(None, cx);
let settings = settings::get::<ThemeSettings>(cx);
let theme = &settings.theme.editor;
let style = theme.diagnostic_header.clone();
let font_size = (style.text_scale_factor

View File

@ -64,7 +64,7 @@ impl BlinkManager {
}
fn blink_cursors(&mut self, epoch: usize, cx: &mut ModelContext<Self>) {
if settings::get_setting::<EditorSettings>(None, cx).cursor_blink {
if settings::get::<EditorSettings>(cx).cursor_blink {
if epoch == self.blink_epoch && self.enabled && !self.blinking_paused {
self.visible = !self.visible;
cx.notify();

View File

@ -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)]

View File

@ -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::<ThemeSettings>(None, cx);
let settings = settings::get::<ThemeSettings>(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::<ThemeSettings>(None, cx),
settings::get::<ThemeSettings>(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<Self>) {
if !settings::get_setting::<EditorSettings>(None, cx).show_completions_on_input {
if !settings::get::<EditorSettings>(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::<TelemetrySettings>(None, cx);
let telemetry_settings = *settings::get::<TelemetrySettings>(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::<TelemetrySettings>(None, cx);
let copilot_enabled = all_language_settings(None, cx).copilot_enabled(None, None);
let telemetry_settings = *settings::get::<TelemetrySettings>(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::<ThemeSettings>(None, cx);
let settings = settings::get::<ThemeSettings>(cx);
let theme = &settings.theme.editor;
let style = diagnostic_style(diagnostic.severity, is_valid, theme);
let font_size = (style.text_scale_factor

View File

@ -550,7 +550,7 @@ impl EditorElement {
let scroll_top = scroll_position.y() * line_height;
let show_gutter = matches!(
settings::get_setting::<WorkspaceSettings>(None, cx)
settings::get::<WorkspaceSettings>(cx)
.git
.git_gutter
.unwrap_or_default(),
@ -2060,15 +2060,14 @@ impl Element<Editor> for EditorElement {
));
}
let show_scrollbars =
match settings::get_setting::<EditorSettings>(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::<EditorSettings>(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

View File

@ -37,7 +37,7 @@ pub fn hover(editor: &mut Editor, _: &Hover, cx: &mut ViewContext<Editor>) {
/// 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<DisplayPoint>, cx: &mut ViewContext<Editor>) {
if settings::get_setting::<EditorSettings>(None, cx).hover_popover_enabled {
if settings::get::<EditorSettings>(cx).hover_popover_enabled {
if let Some(point) = point {
show_hover(editor, point, false, cx);
} else {

View File

@ -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<Buffer>)) {
@ -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<LanguageScope> {

View File

@ -53,7 +53,7 @@ pub fn init(app_state: Arc<AppState>, cx: &mut AppContext) {
}
pub fn new_journal_entry(app_state: Arc<AppState>, cx: &mut AppContext) {
let settings = settings::get_setting::<JournalSettings>(None, cx);
let settings = settings::get::<JournalSettings>(cx);
let journal_dir = match journal_dir(settings.path.as_ref().unwrap()) {
Some(journal_dir) => journal_dir,
None => {

View File

@ -1827,7 +1827,7 @@ impl BufferSnapshot {
pub fn language_indent_size_at<T: ToOffset>(&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<D: ToOffset>(&self, position: D) -> Option<LanguageScope> {

View File

@ -12,19 +12,12 @@ pub fn init(cx: &mut AppContext) {
settings::register_setting::<AllLanguageSettings>(cx);
}
pub fn language_settings<'a>(
path: Option<&Path>,
language: Option<&str>,
cx: &'a AppContext,
) -> &'a LanguageSettings {
settings::get_setting::<AllLanguageSettings>(path, cx).language(language)
pub fn language_settings<'a>(language: Option<&str>, cx: &'a AppContext) -> &'a LanguageSettings {
settings::get::<AllLanguageSettings>(cx).language(language)
}
pub fn all_language_settings<'a>(
path: Option<&Path>,
cx: &'a AppContext,
) -> &'a AllLanguageSettings {
settings::get_setting::<AllLanguageSettings>(path, cx)
pub fn all_language_settings<'a>(cx: &'a AppContext) -> &'a AllLanguageSettings {
settings::get::<AllLanguageSettings>(cx)
}
#[derive(Debug, Clone)]

View File

@ -631,7 +631,7 @@ impl Project {
}
fn on_settings_changed(&mut self, cx: &mut ModelContext<Self>) {
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<Language>,
cx: &mut ModelContext<Self>,
) {
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::<ProjectSettings>(None, cx)
let lsp = settings::get::<ProjectSettings>(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;

View File

@ -19,7 +19,7 @@ impl Project {
"creating terminals as a guest is not supported yet"
));
} else {
let settings = settings::get_setting::<TerminalSettings>(None, cx);
let settings = settings::get::<TerminalSettings>(cx);
let terminal = TerminalBuilder::new(
working_directory.clone(),

View File

@ -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<T: Setting>(cx: &mut AppContext) {
@ -20,8 +13,8 @@ pub fn register_setting<T: Setting>(cx: &mut AppContext) {
});
}
pub fn get_setting<'a, T: Setting>(path: Option<&Path>, cx: &'a AppContext) -> &'a T {
cx.global::<SettingsStore>().get(path)
pub fn get<'a, T: Setting>(cx: &'a AppContext) -> &'a T {
cx.global::<SettingsStore>().get(None)
}
pub fn default_settings() -> Cow<'static, str> {

View File

@ -1149,7 +1149,7 @@ impl Terminal {
}
pub fn mouse_up(&mut self, e: &MouseUp, origin: Vector2F, cx: &mut ModelContext<Self>) {
let setting = settings::get_setting::<TerminalSettings>(None, cx);
let setting = settings::get::<TerminalSettings>(cx);
let position = e.position.sub(origin);
if self.mouse_mode(e.shift) {

View File

@ -522,8 +522,8 @@ impl Element<TerminalView> for TerminalElement {
view: &mut TerminalView,
cx: &mut LayoutContext<TerminalView>,
) -> (gpui::geometry::vector::Vector2F, Self::LayoutState) {
let settings = settings::get_setting::<ThemeSettings>(None, cx);
let terminal_settings = settings::get_setting::<TerminalSettings>(None, cx);
let settings = settings::get::<ThemeSettings>(cx);
let terminal_settings = settings::get::<TerminalSettings>(cx);
//Setup layout information
let terminal_theme = settings.theme.terminal.clone(); //TODO: Try to minimize this clone.

View File

@ -103,7 +103,7 @@ impl TerminalView {
_: &workspace::NewTerminal,
cx: &mut ViewContext<Workspace>,
) {
let strategy = settings::get_setting::<TerminalSettings>(None, cx);
let strategy = settings::get::<TerminalSettings>(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::<TerminalSettings>(None, cx).option_as_meta,
settings::get::<TerminalSettings>(cx).option_as_meta,
)
});
}
@ -243,7 +243,7 @@ impl TerminalView {
return true;
}
match settings::get_setting::<TerminalSettings>(None, cx).blinking {
match settings::get::<TerminalSettings>(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::<TerminalSettings>(None, cx).option_as_meta,
settings::get::<TerminalSettings>(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::<TerminalSettings>(None, cx).option_as_meta,
settings::get::<TerminalSettings>(cx).option_as_meta,
)
})
}
@ -601,7 +601,7 @@ impl Item for TerminalView {
.flatten()
.or_else(|| {
cx.read(|cx| {
let strategy = settings::get_setting::<TerminalSettings>(None, cx)
let strategy = settings::get::<TerminalSettings>(cx)
.working_directory
.clone();
workspace

View File

@ -17,9 +17,7 @@ pub use theme_registry::ThemeRegistry;
pub use theme_settings::ThemeSettings;
pub fn current(cx: &AppContext) -> Arc<Theme> {
settings::get_setting::<ThemeSettings>(None, cx)
.theme
.clone()
settings::get::<ThemeSettings>(cx).theme.clone()
}
pub fn init(source: impl AssetSource, cx: &mut AppContext) {

View File

@ -219,7 +219,7 @@ impl ThemeTestbench {
}
fn render_label(text: String, style: &Style, cx: &mut ViewContext<Self>) -> Label {
let settings = settings::get_setting::<ThemeSettings>(None, cx);
let settings = settings::get::<ThemeSettings>(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);

View File

@ -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::<VimModeSetting>(None, cx).0, cx)
vim.set_enabled(settings::get::<VimModeSetting>(cx).0, cx)
});
cx.observe_global::<SettingsStore, _>(|cx| {
cx.update_default_global(|vim: &mut Vim, cx: &mut AppContext| {
vim.set_enabled(settings::get_setting::<VimModeSetting>(None, cx).0, cx)
vim.set_enabled(settings::get::<VimModeSetting>(cx).0, cx)
});
})
.detach();

View File

@ -40,7 +40,7 @@ pub struct BaseKeymapSelectorDelegate {
impl BaseKeymapSelectorDelegate {
fn new(fs: Arc<dyn Fs>, cx: &mut ViewContext<BaseKeymapSelector>) -> Self {
let base = settings::get_setting::<BaseKeymap>(None, cx);
let base = settings::get::<BaseKeymap>(cx);
let selected_index = BaseKeymap::OPTIONS
.iter()
.position(|(_, value)| value == base)

View File

@ -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::<TelemetrySettings>(None, cx);
let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
enum Metrics {}
enum Diagnostics {}

View File

@ -172,9 +172,8 @@ impl Dock {
background_actions: BackgroundActions,
cx: &mut ViewContext<Workspace>,
) -> Self {
let position = DockPosition::Hidden(
settings::get_setting::<WorkspaceSettings>(None, cx).default_dock_anchor,
);
let position =
DockPosition::Hidden(settings::get::<WorkspaceSettings>(cx).default_dock_anchor);
let workspace = cx.weak_handle();
let pane =
cx.add_view(|cx| Pane::new(workspace, Some(position.anchor()), background_actions, cx));

View File

@ -450,7 +450,7 @@ impl<T: Item> ItemHandle for ViewHandle<T> {
}
ItemEvent::Edit => {
let settings = settings::get_setting::<WorkspaceSettings>(None, cx);
let settings = settings::get::<WorkspaceSettings>(cx);
let debounce_delay = settings.git.gutter_debounce;
if let AutosaveSetting::AfterDelay { milliseconds } =
@ -501,7 +501,7 @@ impl<T: Item> ItemHandle for ViewHandle<T> {
cx.observe_focus(self, move |workspace, item, focused, cx| {
if !focused
&& settings::get_setting::<WorkspaceSettings>(None, cx).autosave
&& settings::get::<WorkspaceSettings>(cx).autosave
== AutosaveSetting::OnFocusChange
{
Pane::autosave_item(&item, workspace.project.clone(), cx)

View File

@ -1024,7 +1024,7 @@ impl Pane {
} else if is_dirty && (can_save || is_singleton) {
let will_autosave = cx.read(|cx| {
matches!(
settings::get_setting::<WorkspaceSettings>(None, cx).autosave,
settings::get::<WorkspaceSettings>(cx).autosave,
AutosaveSetting::OnFocusChange | AutosaveSetting::OnWindowChange
) && Self::can_autosave_item(&*item, cx)
});

View File

@ -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::<WorkspaceSettings>(None, cx)
.active_pane_magnification;
flex = settings::get::<WorkspaceSettings>(cx).active_pane_magnification;
}
let mut member = member.render(

View File

@ -2359,7 +2359,7 @@ impl Workspace {
item.workspace_deactivated(cx);
}
if matches!(
settings::get_setting::<WorkspaceSettings>(None, cx).autosave,
settings::get::<WorkspaceSettings>(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::<WorkspaceSettings>(None, cx).confirm_quit;
let should_confirm = settings::get::<WorkspaceSettings>(cx).confirm_quit;
cx.spawn(|mut cx| async move {
let mut workspaces = cx
.window_ids()

View File

@ -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(),

View File

@ -180,7 +180,7 @@ fn main() {
client.telemetry().report_mixpanel_event(
"start app",
Default::default(),
*settings::get_setting::<TelemetrySettings>(None, cx),
*settings::get::<TelemetrySettings>(cx),
);
let app_state = Arc::new(AppState {
@ -441,7 +441,7 @@ fn init_panic_hook(app_version: String) {
}
fn upload_previous_panics(http: Arc<dyn HttpClient>, cx: &mut AppContext) {
let telemetry_settings = *settings::get_setting::<TelemetrySettings>(None, cx);
let telemetry_settings = *settings::get::<TelemetrySettings>(cx);
cx.background()
.spawn({
@ -800,7 +800,7 @@ pub fn dock_default_item_factory(
workspace: &mut Workspace,
cx: &mut ViewContext<Workspace>,
) -> Option<Box<dyn ItemHandle>> {
let strategy = settings::get_setting::<TerminalSettings>(None, cx)
let strategy = settings::get::<TerminalSettings>(cx)
.working_directory
.clone();
let working_directory = get_working_directory(workspace, cx, strategy);

View File

@ -368,7 +368,7 @@ pub fn build_window_options(
}
fn quit(_: &Quit, cx: &mut gpui::AppContext) {
let should_confirm = settings::get_setting::<WorkspaceSettings>(None, cx).confirm_quit;
let should_confirm = settings::get::<WorkspaceSettings>(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::<BaseKeymap>(None, cx).asset_path() {
if let Some(asset_path) = settings::get::<BaseKeymap>(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::<BaseKeymap>(None, cx));
let mut old_base_keymap = cx.read(|cx| *settings::get::<BaseKeymap>(cx));
drop(settings_subscription);
settings_subscription = Some(cx.update(|cx| {
cx.observe_global::<SettingsStore, _>(move |cx| {
let new_base_keymap = *settings::get_setting::<BaseKeymap>(None, cx);
let new_base_keymap = *settings::get::<BaseKeymap>(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::<ThemeSettings>(None, cx)
.theme
.meta
.name
{
if theme.meta.name == settings::get::<ThemeSettings>(cx).theme.meta.name {
has_default_theme = true;
}
}