Avoid racing git diffs & allow for "as fast as possible" diff updating

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
This commit is contained in:
Julia 2022-09-19 18:22:39 -04:00
parent b18dd8fcff
commit a679557e40
4 changed files with 85 additions and 20 deletions

View file

@ -61,6 +61,22 @@ pub struct EditorSettings {
pub format_on_save: Option<FormatOnSave>,
pub formatter: Option<Formatter>,
pub enable_language_server: Option<bool>,
pub git_gutter: Option<GitGutterConfig>,
}
#[derive(Clone, Copy, Debug, Default, Deserialize, JsonSchema)]
pub struct GitGutterConfig {
pub files_included: GitGutterLevel,
pub debounce_delay_millis: Option<u64>,
}
#[derive(Clone, Copy, Debug, Default, Deserialize, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum GitGutterLevel {
#[default]
All,
OnlyTracked,
None,
}
#[derive(Copy, Clone, Debug, Deserialize, PartialEq, Eq, JsonSchema)]
@ -250,6 +266,7 @@ impl Settings {
format_on_save: required(defaults.editor.format_on_save),
formatter: required(defaults.editor.formatter),
enable_language_server: required(defaults.editor.enable_language_server),
git_gutter: defaults.editor.git_gutter,
},
editor_overrides: Default::default(),
terminal_defaults: Default::default(),
@ -378,6 +395,7 @@ impl Settings {
format_on_save: Some(FormatOnSave::On),
formatter: Some(Formatter::LanguageServer),
enable_language_server: Some(true),
git_gutter: Default::default(),
},
editor_overrides: Default::default(),
terminal_defaults: Default::default(),