summaryrefslogtreecommitdiff
path: root/cli/lsp/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/config.rs')
-rw-r--r--cli/lsp/config.rs93
1 files changed, 1 insertions, 92 deletions
diff --git a/cli/lsp/config.rs b/cli/lsp/config.rs
index 0dbfd7589..5ddc41cb2 100644
--- a/cli/lsp/config.rs
+++ b/cli/lsp/config.rs
@@ -726,53 +726,6 @@ impl WorkspaceSettings {
}
}
-#[derive(Debug, Clone, Default)]
-pub struct ConfigSnapshot {
- pub client_capabilities: ClientCapabilities,
- pub settings: Settings,
- pub workspace_folders: Vec<(ModuleSpecifier, lsp::WorkspaceFolder)>,
- pub tree: ConfigTree,
-}
-
-impl ConfigSnapshot {
- pub fn workspace_settings_for_specifier(
- &self,
- specifier: &ModuleSpecifier,
- ) -> &WorkspaceSettings {
- self.settings.get_for_specifier(specifier).0
- }
-
- /// Determine if the provided specifier is enabled or not.
- pub fn specifier_enabled(&self, specifier: &ModuleSpecifier) -> bool {
- let config_file = self.tree.config_file_for_specifier(specifier);
- if let Some(cf) = config_file {
- if let Ok(files) = cf.to_files_config() {
- if !files.matches_specifier(specifier) {
- return false;
- }
- }
- }
- self
- .settings
- .specifier_enabled(specifier)
- .unwrap_or_else(|| config_file.is_some())
- }
-
- pub fn specifier_enabled_for_test(
- &self,
- specifier: &ModuleSpecifier,
- ) -> bool {
- if let Some(cf) = self.tree.config_file_for_specifier(specifier) {
- if let Some(options) = cf.to_test_config().ok().flatten() {
- if !options.files.matches_specifier(specifier) {
- return false;
- }
- }
- }
- self.specifier_enabled(specifier)
- }
-}
-
#[derive(Debug, Default, Clone)]
pub struct Settings {
pub unscoped: WorkspaceSettings,
@@ -982,15 +935,6 @@ impl Config {
self.workspace_folders.first().map(|p| &p.0)
}
- pub fn snapshot(&self) -> Arc<ConfigSnapshot> {
- Arc::new(ConfigSnapshot {
- client_capabilities: self.client_capabilities.clone(),
- settings: self.settings.clone(),
- workspace_folders: self.workspace_folders.clone(),
- tree: self.tree.clone(),
- })
- }
-
pub fn specifier_enabled(&self, specifier: &ModuleSpecifier) -> bool {
let config_file = self.tree.config_file_for_specifier(specifier);
if let Some(cf) = config_file {
@@ -1805,8 +1749,7 @@ mod tests {
.unwrap(),
vec![],
);
- let config_snapshot = config.snapshot();
- assert!(config_snapshot.specifier_enabled(&specifier));
+ assert!(config.specifier_enabled(&specifier));
}
#[test]
@@ -1822,9 +1765,6 @@ mod tests {
config.set_workspace_settings(workspace_settings, vec![]);
assert!(config.specifier_enabled(&specifier_a));
assert!(!config.specifier_enabled(&specifier_b));
- let config_snapshot = config.snapshot();
- assert!(config_snapshot.specifier_enabled(&specifier_a));
- assert!(!config_snapshot.specifier_enabled(&specifier_b));
}
#[test]
@@ -2146,35 +2086,4 @@ mod tests {
!config.specifier_enabled_for_test(&root_uri.join("mod2.ts").unwrap())
);
}
-
- #[tokio::test]
- async fn config_snapshot_specifier_enabled_for_test() {
- let root_uri = resolve_url("file:///root/").unwrap();
- let mut config = Config::new_with_roots(vec![root_uri.clone()]);
- config.settings.unscoped.enable = Some(true);
- config
- .tree
- .inject_config_file(
- ConfigFile::new(
- &json!({
- "exclude": ["mod2.ts"],
- "test": {
- "exclude": ["mod3.ts"],
- },
- })
- .to_string(),
- root_uri.join("deno.json").unwrap(),
- &deno_config::ParseOptions::default(),
- )
- .unwrap(),
- )
- .await;
- let config_snapshot = config.snapshot();
- assert!(config_snapshot
- .specifier_enabled_for_test(&root_uri.join("mod1.ts").unwrap()));
- assert!(!config_snapshot
- .specifier_enabled_for_test(&root_uri.join("mod2.ts").unwrap()));
- assert!(!config_snapshot
- .specifier_enabled_for_test(&root_uri.join("mod3.ts").unwrap()));
- }
}