diff --git a/crates/grammars/src/c/config.toml b/crates/grammars/src/c/config.toml index c490269b12309632d2fd8fb944ed48ee74c46075..a3b55f4f2d4fe3bfb19100e5877661c5841126a9 100644 --- a/crates/grammars/src/c/config.toml +++ b/crates/grammars/src/c/config.toml @@ -17,4 +17,3 @@ brackets = [ ] debuggers = ["CodeLLDB", "GDB"] documentation_comment = { start = "/*", prefix = "* ", end = "*/", tab_size = 1 } -import_path_strip_regex = "^<|>$" diff --git a/crates/grammars/src/c/imports.scm b/crates/grammars/src/c/imports.scm deleted file mode 100644 index 2aaab2106f5422db426876a7fa65c9674fe93174..0000000000000000000000000000000000000000 --- a/crates/grammars/src/c/imports.scm +++ /dev/null @@ -1,7 +0,0 @@ -(preproc_include - path: [ - ((system_lib_string) @source @wildcard - (#strip! @source "[<>]")) - (string_literal - (string_content) @source @wildcard) - ]) @import diff --git a/crates/grammars/src/cpp/config.toml b/crates/grammars/src/cpp/config.toml index dfce8ae7b2bfcfc7a7004822e9c6dca18e6cbe26..138d4a78e45f153eaa2eeb72a91654416154ed33 100644 --- a/crates/grammars/src/cpp/config.toml +++ b/crates/grammars/src/cpp/config.toml @@ -19,4 +19,3 @@ brackets = [ ] debuggers = ["CodeLLDB", "GDB"] documentation_comment = { start = "/*", prefix = "* ", end = "*/", tab_size = 1 } -import_path_strip_regex = "^<|>$" diff --git a/crates/grammars/src/cpp/imports.scm b/crates/grammars/src/cpp/imports.scm deleted file mode 100644 index 43adde711b5352ef0d92566d4bdde91a847319b8..0000000000000000000000000000000000000000 --- a/crates/grammars/src/cpp/imports.scm +++ /dev/null @@ -1,6 +0,0 @@ -(preproc_include - path: [ - (system_lib_string) @source @wildcard - (string_literal - (string_content) @source @wildcard) - ]) @import diff --git a/crates/grammars/src/go/imports.scm b/crates/grammars/src/go/imports.scm deleted file mode 100644 index 23e480c10b20b76c6724df29a550e627c2aee799..0000000000000000000000000000000000000000 --- a/crates/grammars/src/go/imports.scm +++ /dev/null @@ -1,12 +0,0 @@ -(import_spec - name: [ - (dot) - (package_identifier) - ] - path: (interpreted_string_literal - (interpreted_string_literal_content) @namespace)) @wildcard @import - -(import_spec - !name - path: (interpreted_string_literal - (interpreted_string_literal_content) @namespace)) @wildcard @import diff --git a/crates/grammars/src/javascript/config.toml b/crates/grammars/src/javascript/config.toml index 2850fd6bc47fe7d23fdfbf9588b2331fdef6e0fa..118024494a7b8f98bcff9354fd3d27f4fc1dcfc4 100644 --- a/crates/grammars/src/javascript/config.toml +++ b/crates/grammars/src/javascript/config.toml @@ -24,7 +24,6 @@ tab_size = 2 scope_opt_in_language_servers = ["tailwindcss-language-server", "emmet-language-server"] prettier_parser_name = "babel" debuggers = ["JavaScript"] -import_path_strip_regex = "(?:/index)?\\.[jt]s$" [jsx_tag_auto_close] open_tag_node_name = "jsx_opening_element" diff --git a/crates/grammars/src/javascript/imports.scm b/crates/grammars/src/javascript/imports.scm deleted file mode 100644 index 0e688d53fb6ed639c55c1fa84917711d19c3108a..0000000000000000000000000000000000000000 --- a/crates/grammars/src/javascript/imports.scm +++ /dev/null @@ -1,16 +0,0 @@ -(import_statement - import_clause: (import_clause - [ - (identifier) @name - (named_imports - (import_specifier - name: (_) @name - alias: (_)? @alias)) - ]) - source: (string - (string_fragment) @source)) @import - -(import_statement - !import_clause - source: (string - (string_fragment) @source @wildcard)) @import diff --git a/crates/grammars/src/python/config.toml b/crates/grammars/src/python/config.toml index fa409c5dd6519121e7130e4b33a6c3277ae1654b..0c2072393bf6cc1db6b152d80779cd7c81af1a7e 100644 --- a/crates/grammars/src/python/config.toml +++ b/crates/grammars/src/python/config.toml @@ -36,4 +36,3 @@ decrease_indent_patterns = [ { pattern = "^\\s*except\\b.*:\\s*(#.*)?", valid_after = ["try", "except"] }, { pattern = "^\\s*finally\\b.*:\\s*(#.*)?", valid_after = ["try", "except", "else"] }, ] -import_path_strip_regex = "/__init__\\.py$" diff --git a/crates/grammars/src/python/imports.scm b/crates/grammars/src/python/imports.scm deleted file mode 100644 index 26538fee1b41df13f258c8b315cc5e266458efa1..0000000000000000000000000000000000000000 --- a/crates/grammars/src/python/imports.scm +++ /dev/null @@ -1,38 +0,0 @@ -(import_statement - name: [ - (dotted_name - ((identifier) @namespace - ".")* - (identifier) @namespace .) - (aliased_import - name: (dotted_name - ((identifier) @namespace - ".")* - (identifier) @namespace .)) - ]) @wildcard @import - -(import_from_statement - module_name: [ - (dotted_name - ((identifier) @namespace - ".")* - (identifier) @namespace .) - (relative_import - (dotted_name - ((identifier) @namespace - ".")* - (identifier) @namespace .)?) - ] - (wildcard_import)? @wildcard - name: [ - (dotted_name - ((identifier) @namespace - ".")* - (identifier) @name .) - (aliased_import - name: (dotted_name - ((identifier) @namespace - ".")* - (identifier) @name .) - alias: (identifier) @alias) - ]?) @import diff --git a/crates/grammars/src/rust/config.toml b/crates/grammars/src/rust/config.toml index 203a44853f8bd20f952d3db8f0c64dc4babe1017..f739b370f4b5c3fe7bc53f4818ffabedfa1bbd0b 100644 --- a/crates/grammars/src/rust/config.toml +++ b/crates/grammars/src/rust/config.toml @@ -18,5 +18,3 @@ brackets = [ collapsed_placeholder = " /* ... */ " debuggers = ["CodeLLDB", "GDB"] documentation_comment = { start = "/*", prefix = "* ", end = "*/", tab_size = 1 } -ignored_import_segments = ["crate", "super"] -import_path_strip_regex = "/(lib|mod)\\.rs$" diff --git a/crates/grammars/src/rust/imports.scm b/crates/grammars/src/rust/imports.scm deleted file mode 100644 index 2c368523d63b9c6ae9494b1ab801192161fd7000..0000000000000000000000000000000000000000 --- a/crates/grammars/src/rust/imports.scm +++ /dev/null @@ -1,29 +0,0 @@ -(use_declaration) @import - -(scoped_use_list - path: (_) @namespace - list: (_) @list) - -(scoped_identifier - path: (_) @namespace - name: (identifier) @name) - -(use_list - (identifier) @name) - -(use_declaration - (identifier) @name) - -(use_as_clause - path: (scoped_identifier - path: (_) @namespace - name: (_) @name) - alias: (_) @alias) - -(use_as_clause - path: (identifier) @name - alias: (_) @alias) - -(use_wildcard - (_)? @namespace - "*" @wildcard) diff --git a/crates/grammars/src/tsx/imports.scm b/crates/grammars/src/tsx/imports.scm deleted file mode 100644 index 0e688d53fb6ed639c55c1fa84917711d19c3108a..0000000000000000000000000000000000000000 --- a/crates/grammars/src/tsx/imports.scm +++ /dev/null @@ -1,16 +0,0 @@ -(import_statement - import_clause: (import_clause - [ - (identifier) @name - (named_imports - (import_specifier - name: (_) @name - alias: (_)? @alias)) - ]) - source: (string - (string_fragment) @source)) @import - -(import_statement - !import_clause - source: (string - (string_fragment) @source @wildcard)) @import diff --git a/crates/grammars/src/typescript/config.toml b/crates/grammars/src/typescript/config.toml index c0e8a8899a99b0b65e2d073547f3eaf0fe714da2..473a347cdd611d096e5fb3b584c2f0990da185de 100644 --- a/crates/grammars/src/typescript/config.toml +++ b/crates/grammars/src/typescript/config.toml @@ -23,7 +23,6 @@ prettier_parser_name = "typescript" tab_size = 2 debuggers = ["JavaScript"] scope_opt_in_language_servers = ["tailwindcss-language-server"] -import_path_strip_regex = "(?:/index)?\\.[jt]s$" [overrides.string] completion_query_characters = ["-", "."] diff --git a/crates/grammars/src/typescript/imports.scm b/crates/grammars/src/typescript/imports.scm deleted file mode 100644 index de8f8db418157511d5756d6b5ede1a02a03bd831..0000000000000000000000000000000000000000 --- a/crates/grammars/src/typescript/imports.scm +++ /dev/null @@ -1,23 +0,0 @@ -(import_statement - import_clause: (import_clause - [ - (identifier) @name - (named_imports - (import_specifier - name: (_) @name - alias: (_)? @alias)) - (namespace_import) @wildcard - ]) - source: (string - (string_fragment) @source)) @import - -(import_statement - !source - import_clause: (import_require_clause - source: (string - (string_fragment) @source))) @wildcard @import - -(import_statement - !import_clause - source: (string - (string_fragment) @source)) @wildcard @import diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 469759a24c74b8d1349fbc3a66d5037d8ef8587d..035cb3a2009241cc4ff97a7adf4c82de73166a76 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -39,14 +39,13 @@ pub use language_core::highlight_map::{HighlightId, HighlightMap}; pub use language_core::{ BlockCommentConfig, BracketPair, BracketPairConfig, BracketPairContent, BracketsConfig, BracketsPatternConfig, CodeLabel, CodeLabelBuilder, DebugVariablesConfig, DebuggerTextObject, - DecreaseIndentConfig, Grammar, GrammarId, HighlightsConfig, ImportsConfig, IndentConfig, - InjectionConfig, InjectionPatternConfig, JsxTagAutoCloseConfig, LanguageConfig, - LanguageConfigOverride, LanguageId, LanguageMatcher, OrderedListConfig, OutlineConfig, - Override, OverrideConfig, OverrideEntry, PromptResponseContext, RedactionConfig, - RunnableCapture, RunnableConfig, SoftWrap, Symbol, TaskListConfig, TextObject, - TextObjectConfig, ToLspPosition, WrapCharactersConfig, - auto_indent_using_last_non_empty_line_default, deserialize_regex, deserialize_regex_vec, - regex_json_schema, regex_vec_json_schema, serialize_regex, + DecreaseIndentConfig, Grammar, GrammarId, HighlightsConfig, IndentConfig, InjectionConfig, + InjectionPatternConfig, JsxTagAutoCloseConfig, LanguageConfig, LanguageConfigOverride, + LanguageId, LanguageMatcher, OrderedListConfig, OutlineConfig, Override, OverrideConfig, + OverrideEntry, PromptResponseContext, RedactionConfig, RunnableCapture, RunnableConfig, + SoftWrap, Symbol, TaskListConfig, TextObject, TextObjectConfig, ToLspPosition, + WrapCharactersConfig, auto_indent_using_last_non_empty_line_default, deserialize_regex, + deserialize_regex_vec, regex_json_schema, regex_vec_json_schema, serialize_regex, }; pub use language_registry::{ LanguageName, LanguageServerStatusUpdate, LoadedLanguage, ServerHealth, @@ -908,10 +907,6 @@ impl Language { }) } - pub fn with_imports_query(self, source: &str) -> Result { - self.with_grammar_query_and_name(|grammar, name| grammar.with_imports_query(source, name)) - } - pub fn with_brackets_query(self, source: &str) -> Result { self.with_grammar_query_and_name(|grammar, name| grammar.with_brackets_query(source, name)) } @@ -1579,9 +1574,6 @@ pub fn rust_lang() -> Arc { debugger: Some(Cow::from(include_str!( "../../grammars/src/rust/debugger.scm" ))), - imports: Some(Cow::from(include_str!( - "../../grammars/src/rust/imports.scm" - ))), }) .expect("Could not parse queries"); Arc::new(language) diff --git a/crates/language_core/src/grammar.rs b/crates/language_core/src/grammar.rs index f3a4c3d7c993dfde14657a330999c383ff9f0994..77e3805e52415a20f5d343bff98682744a50fdc2 100644 --- a/crates/language_core/src/grammar.rs +++ b/crates/language_core/src/grammar.rs @@ -41,7 +41,6 @@ pub struct Grammar { pub injection_config: Option, pub override_config: Option, pub debug_variables_config: Option, - pub imports_config: Option, pub highlight_map: Mutex, } @@ -185,17 +184,6 @@ pub struct DebugVariablesConfig { pub objects_by_capture_ix: Vec<(u32, DebuggerTextObject)>, } -pub struct ImportsConfig { - pub query: Query, - pub import_ix: u32, - pub name_ix: Option, - pub namespace_ix: Option, - pub source_ix: Option, - pub list_ix: Option, - pub wildcard_ix: Option, - pub alias_ix: Option, -} - enum Capture<'a> { Required(&'static str, &'a mut u32), Optional(&'static str, &'a mut Option), @@ -273,7 +261,6 @@ impl Grammar { runnable_config: None, error_query: Query::new(&ts_language, "(ERROR) @error").ok(), debug_variables_config: None, - imports_config: None, ts_language, highlight_map: Default::default(), } @@ -300,10 +287,6 @@ impl Grammar { self.debug_variables_config.as_ref() } - pub fn imports_config(&self) -> Option<&ImportsConfig> { - self.imports_config.as_ref() - } - /// Load all queries from `LanguageQueries` into this grammar, mutating the /// associated `LanguageConfig` (the override query clears /// `brackets.disabled_scopes_by_bracket_ix`). @@ -369,11 +352,6 @@ impl Grammar { .with_debug_variables_query(query.as_ref(), name) .context("Error loading debug variables query")?; } - if let Some(query) = queries.imports { - self = self - .with_imports_query(query.as_ref(), name) - .context("Error loading imports query")?; - } Ok(self) } @@ -519,49 +497,6 @@ impl Grammar { Ok(self) } - pub fn with_imports_query( - mut self, - source: &str, - language_name: &LanguageName, - ) -> Result { - let query = Query::new(&self.ts_language, source)?; - - let mut import_ix = 0; - let mut name_ix = None; - let mut namespace_ix = None; - let mut source_ix = None; - let mut list_ix = None; - let mut wildcard_ix = None; - let mut alias_ix = None; - if populate_capture_indices( - &query, - language_name, - "imports", - &[], - &mut [ - Capture::Required("import", &mut import_ix), - Capture::Optional("name", &mut name_ix), - Capture::Optional("namespace", &mut namespace_ix), - Capture::Optional("source", &mut source_ix), - Capture::Optional("list", &mut list_ix), - Capture::Optional("wildcard", &mut wildcard_ix), - Capture::Optional("alias", &mut alias_ix), - ], - ) { - self.imports_config = Some(ImportsConfig { - query, - import_ix, - name_ix, - namespace_ix, - source_ix, - list_ix, - wildcard_ix, - alias_ix, - }); - } - Ok(self) - } - pub fn with_brackets_query( mut self, source: &str, diff --git a/crates/language_core/src/language_config.rs b/crates/language_core/src/language_config.rs index e07c11d811cdaae3b540c57314cebf0d92d0023d..f412af418b7948b40e3bdac5a3a649d12d008e8a 100644 --- a/crates/language_core/src/language_config.rs +++ b/crates/language_core/src/language_config.rs @@ -148,15 +148,6 @@ pub struct LanguageConfig { /// A list of preferred debuggers for this language. #[serde(default)] pub debuggers: IndexSet, - /// A list of import namespace segments that aren't expected to appear in file paths. For - /// example, "super" and "crate" in Rust. - #[serde(default)] - pub ignored_import_segments: HashSet>, - /// Regular expression that matches substrings to omit from import paths, to make the paths more - /// similar to how they are specified when imported. For example, "/mod\.rs$" or "/__init__\.py$". - #[serde(default, deserialize_with = "deserialize_regex")] - #[schemars(schema_with = "regex_json_schema")] - pub import_path_strip_regex: Option, } impl LanguageConfig { @@ -204,8 +195,6 @@ impl Default for LanguageConfig { completion_query_characters: Default::default(), linked_edit_characters: Default::default(), debuggers: Default::default(), - ignored_import_segments: Default::default(), - import_path_strip_regex: None, } } } diff --git a/crates/language_core/src/language_core.rs b/crates/language_core/src/language_core.rs index c908db7ecefd96b59f601ec74adc7a1a9a6425bc..f3292e1978d976ce638ebe26c079b939648ffe52 100644 --- a/crates/language_core/src/language_core.rs +++ b/crates/language_core/src/language_core.rs @@ -9,9 +9,9 @@ pub mod language_config; pub use diagnostic::{Diagnostic, DiagnosticSourceKind}; pub use grammar::{ BracketsConfig, BracketsPatternConfig, DebugVariablesConfig, DebuggerTextObject, Grammar, - GrammarId, HighlightsConfig, ImportsConfig, IndentConfig, InjectionConfig, - InjectionPatternConfig, NEXT_GRAMMAR_ID, OutlineConfig, OverrideConfig, OverrideEntry, - RedactionConfig, RunnableCapture, RunnableConfig, TextObject, TextObjectConfig, + GrammarId, HighlightsConfig, IndentConfig, InjectionConfig, InjectionPatternConfig, + NEXT_GRAMMAR_ID, OutlineConfig, OverrideConfig, OverrideEntry, RedactionConfig, + RunnableCapture, RunnableConfig, TextObject, TextObjectConfig, }; pub use highlight_map::{HighlightId, HighlightMap}; pub use language_config::{ diff --git a/crates/language_core/src/queries.rs b/crates/language_core/src/queries.rs index a0ec6890814e08013badef97bb26ac12d89c02f5..510fb2e03c9b3a6876a2d72180ea238c9a3be4b6 100644 --- a/crates/language_core/src/queries.rs +++ b/crates/language_core/src/queries.rs @@ -13,7 +13,6 @@ pub const QUERY_FILENAME_PREFIXES: &[(&str, QueryFieldAccessor)] = &[ ("runnables", |q| &mut q.runnables), ("debugger", |q| &mut q.debugger), ("textobjects", |q| &mut q.text_objects), - ("imports", |q| &mut q.imports), ]; /// Tree-sitter language queries for a given language. @@ -29,5 +28,4 @@ pub struct LanguageQueries { pub runnables: Option>, pub text_objects: Option>, pub debugger: Option>, - pub imports: Option>, }