Change summary
assets/settings/default.json | 12 ++++++++++++
crates/project/src/project_settings.rs | 2 +-
crates/project/src/worktree.rs | 2 +-
crates/project/src/worktree_tests.rs | 2 +-
4 files changed, 15 insertions(+), 3 deletions(-)
Detailed changes
@@ -268,6 +268,18 @@
// Whether to show warnings or not by default.
"include_warnings": true
},
+ // TODO kb docs
+ "scan_exclude_files": [
+ "**/.git",
+ "**/.svn",
+ "**/.hg",
+ "**/CVS",
+ "**/.DS_Store",
+ "**/Thumbs.db",
+ "**/.classpath",
+ "**/.settings",
+ "**/target"
+ ],
// Git gutter behavior configuration.
"git": {
// Control whether the git gutter is shown. May take 2 values:
@@ -12,7 +12,7 @@ pub struct ProjectSettings {
pub git: GitSettings,
// TODO kb better names and docs and tests
#[serde(default)]
- pub scan_exclude_files: Vec<String>,
+ pub scan_exclude_files: Option<Vec<String>>,
}
#[derive(Copy, Clone, Debug, Default, Serialize, Deserialize, JsonSchema)]
@@ -650,7 +650,7 @@ fn start_background_scan_tasks(
}
fn scan_exclude_files(project_settings: &ProjectSettings) -> Vec<PathMatcher> {
- project_settings.scan_exclude_files.iter()
+ project_settings.scan_exclude_files.as_deref().unwrap_or(&[]).iter()
.sorted()
.filter_map(|pattern| {
PathMatcher::new(pattern)
@@ -910,7 +910,7 @@ async fn test_ignore_inclusions_and_exclusions(cx: &mut TestAppContext) {
cx.update_global::<SettingsStore, _, _>(|store, cx| {
store.update_user_settings::<ProjectSettings>(cx, |project_settings| {
project_settings.scan_exclude_files =
- vec!["**/foo/**".to_string(), "**/.DS_Store".to_string()];
+ Some(vec!["**/foo/**".to_string(), "**/.DS_Store".to_string()]);
});
});
});