From beece469d6f31fb506ea4cb7c49a687152d3c32f Mon Sep 17 00:00:00 2001 From: Finn Evers Date: Mon, 5 Jan 2026 19:38:25 +0100 Subject: [PATCH] language: Remove embeds support (#46076) Embeddings have neither been used nor maintained in over a year and there are currently no plans to use these again any time soon. Hence, remove support for these here to more clearly indicate that these are actually not used. Release Notes: - N/A --- crates/language/src/language.rs | 52 ------------ crates/language/src/language_registry.rs | 2 - crates/languages/src/c/embedding.scm | 43 ---------- crates/languages/src/cpp/embedding.scm | 61 ------------- crates/languages/src/go/embedding.scm | 24 ------ crates/languages/src/javascript/embedding.scm | 71 ---------------- crates/languages/src/json/embedding.scm | 14 --- crates/languages/src/jsonc/embedding.scm | 14 --- crates/languages/src/python/embedding.scm | 9 -- crates/languages/src/rust/embedding.scm | 32 ------- crates/languages/src/tsx/embedding.scm | 85 ------------------- crates/languages/src/typescript/embedding.scm | 85 ------------------- 12 files changed, 492 deletions(-) delete mode 100644 crates/languages/src/c/embedding.scm delete mode 100644 crates/languages/src/cpp/embedding.scm delete mode 100644 crates/languages/src/go/embedding.scm delete mode 100644 crates/languages/src/javascript/embedding.scm delete mode 100644 crates/languages/src/json/embedding.scm delete mode 100644 crates/languages/src/jsonc/embedding.scm delete mode 100644 crates/languages/src/python/embedding.scm delete mode 100644 crates/languages/src/rust/embedding.scm delete mode 100644 crates/languages/src/tsx/embedding.scm delete mode 100644 crates/languages/src/typescript/embedding.scm diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 6881779097..a294f1b5ae 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -1326,7 +1326,6 @@ pub struct Grammar { pub(crate) indents_config: Option, pub outline_config: Option, pub text_object_config: Option, - pub embedding_config: Option, pub(crate) injection_config: Option, pub(crate) override_config: Option, pub(crate) debug_variables_config: Option, @@ -1413,16 +1412,6 @@ pub struct TextObjectConfig { pub text_objects_by_capture_ix: Vec<(u32, TextObject)>, } -#[derive(Debug)] -pub struct EmbeddingConfig { - pub query: Query, - pub item_capture_ix: u32, - pub name_capture_ix: Option, - pub context_capture_ix: Option, - pub collapse_capture_ix: Option, - pub keep_capture_ix: Option, -} - struct InjectionConfig { query: Query, content_capture_ix: u32, @@ -1519,7 +1508,6 @@ impl Language { brackets_config: None, outline_config: None, text_object_config: None, - embedding_config: None, indents_config: None, injection_config: None, override_config: None, @@ -1574,11 +1562,6 @@ impl Language { .with_outline_query(query.as_ref()) .context("Error loading outline query")?; } - if let Some(query) = queries.embedding { - self = self - .with_embedding_query(query.as_ref()) - .context("Error loading embedding query")?; - } if let Some(query) = queries.injections { self = self .with_injection_query(query.as_ref()) @@ -1727,38 +1710,6 @@ impl Language { Ok(self) } - pub fn with_embedding_query(mut self, source: &str) -> Result { - let query = Query::new(&self.expect_grammar()?.ts_language, source)?; - let mut item_capture_ix = 0; - let mut name_capture_ix = None; - let mut context_capture_ix = None; - let mut collapse_capture_ix = None; - let mut keep_capture_ix = None; - if populate_capture_indices( - &query, - &self.config.name, - "embedding", - &[], - &mut [ - Capture::Required("item", &mut item_capture_ix), - Capture::Optional("name", &mut name_capture_ix), - Capture::Optional("context", &mut context_capture_ix), - Capture::Optional("keep", &mut keep_capture_ix), - Capture::Optional("collapse", &mut collapse_capture_ix), - ], - ) { - self.grammar_mut()?.embedding_config = Some(EmbeddingConfig { - query, - item_capture_ix, - name_capture_ix, - context_capture_ix, - collapse_capture_ix, - keep_capture_ix, - }); - } - Ok(self) - } - pub fn with_debug_variables_query(mut self, source: &str) -> Result { let query = Query::new(&self.expect_grammar()?.ts_language, source)?; @@ -2805,9 +2756,6 @@ pub fn rust_lang() -> Arc { highlights: Some(Cow::from(include_str!( "../../languages/src/rust/highlights.scm" ))), - embedding: Some(Cow::from(include_str!( - "../../languages/src/rust/embedding.scm" - ))), injections: Some(Cow::from(include_str!( "../../languages/src/rust/injections.scm" ))), diff --git a/crates/language/src/language_registry.rs b/crates/language/src/language_registry.rs index 6d91f5233e..9bdde8a5fa 100644 --- a/crates/language/src/language_registry.rs +++ b/crates/language/src/language_registry.rs @@ -228,7 +228,6 @@ pub const QUERY_FILENAME_PREFIXES: &[( ("brackets", |q| &mut q.brackets), ("outline", |q| &mut q.outline), ("indents", |q| &mut q.indents), - ("embedding", |q| &mut q.embedding), ("injections", |q| &mut q.injections), ("overrides", |q| &mut q.overrides), ("redactions", |q| &mut q.redactions), @@ -245,7 +244,6 @@ pub struct LanguageQueries { pub brackets: Option>, pub indents: Option>, pub outline: Option>, - pub embedding: Option>, pub injections: Option>, pub overrides: Option>, pub redactions: Option>, diff --git a/crates/languages/src/c/embedding.scm b/crates/languages/src/c/embedding.scm deleted file mode 100644 index 0178abeb18..0000000000 --- a/crates/languages/src/c/embedding.scm +++ /dev/null @@ -1,43 +0,0 @@ -( - (comment)* @context - . - (declaration - declarator: [ - (function_declarator - declarator: (_) @name) - (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name)) - (pointer_declarator - "*" @name - declarator: (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name))) - ] - ) @item - ) - -( - (comment)* @context - . - (function_definition - declarator: [ - (function_declarator - declarator: (_) @name - ) - (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name - )) - (pointer_declarator - "*" @name - declarator: (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name))) - ] - ) @item - ) diff --git a/crates/languages/src/cpp/embedding.scm b/crates/languages/src/cpp/embedding.scm deleted file mode 100644 index bbd93f20db..0000000000 --- a/crates/languages/src/cpp/embedding.scm +++ /dev/null @@ -1,61 +0,0 @@ -( - (comment)* @context - . - (function_definition - (type_qualifier)? @name - type: (_)? @name - declarator: [ - (function_declarator - declarator: (_) @name) - (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name)) - (pointer_declarator - "*" @name - declarator: (pointer_declarator - "*" @name - declarator: (function_declarator - declarator: (_) @name))) - (reference_declarator - ["&" "&&"] @name - (function_declarator - declarator: (_) @name)) - ] - (type_qualifier)? @name) @item - ) - -( - (comment)* @context - . - (template_declaration - (class_specifier - "class" @name - name: (_) @name) - ) @item -) - -( - (comment)* @context - . - (class_specifier - "class" @name - name: (_) @name) @item - ) - -( - (comment)* @context - . - (enum_specifier - "enum" @name - name: (_) @name) @item - ) - -( - (comment)* @context - . - (declaration - type: (struct_specifier - "struct" @name) - declarator: (_) @name) @item -) diff --git a/crates/languages/src/go/embedding.scm b/crates/languages/src/go/embedding.scm deleted file mode 100644 index 9d8700cdfb..0000000000 --- a/crates/languages/src/go/embedding.scm +++ /dev/null @@ -1,24 +0,0 @@ -( - (comment)* @context - . - (type_declaration - (type_spec - name: (_) @name) - ) @item -) - -( - (comment)* @context - . - (function_declaration - name: (_) @name - ) @item -) - -( - (comment)* @context - . - (method_declaration - name: (_) @name - ) @item -) diff --git a/crates/languages/src/javascript/embedding.scm b/crates/languages/src/javascript/embedding.scm deleted file mode 100644 index ab1a3b6b06..0000000000 --- a/crates/languages/src/javascript/embedding.scm +++ /dev/null @@ -1,71 +0,0 @@ -( - (comment)* @context - . - [ - (export_statement - (function_declaration - "async"? @name - "function" @name - name: (_) @name)) - (function_declaration - "async"? @name - "function" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (class_declaration - "class" @name - name: (_) @name)) - (class_declaration - "class" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (interface_declaration - "interface" @name - name: (_) @name)) - (interface_declaration - "interface" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (enum_declaration - "enum" @name - name: (_) @name)) - (enum_declaration - "enum" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - (method_definition - [ - "get" - "set" - "async" - "*" - "static" - ]* @name - name: (_) @name) @item -) diff --git a/crates/languages/src/json/embedding.scm b/crates/languages/src/json/embedding.scm deleted file mode 100644 index fa286e3880..0000000000 --- a/crates/languages/src/json/embedding.scm +++ /dev/null @@ -1,14 +0,0 @@ -; Only produce one embedding for the entire file. -(document) @item - -; Collapse arrays, except for the first object. -(array - "[" @keep - . - (object)? @keep - "]" @keep) @collapse - -; Collapse string values (but not keys). -(pair value: (string - "\"" @keep - "\"" @keep) @collapse) diff --git a/crates/languages/src/jsonc/embedding.scm b/crates/languages/src/jsonc/embedding.scm deleted file mode 100644 index fa286e3880..0000000000 --- a/crates/languages/src/jsonc/embedding.scm +++ /dev/null @@ -1,14 +0,0 @@ -; Only produce one embedding for the entire file. -(document) @item - -; Collapse arrays, except for the first object. -(array - "[" @keep - . - (object)? @keep - "]" @keep) @collapse - -; Collapse string values (but not keys). -(pair value: (string - "\"" @keep - "\"" @keep) @collapse) diff --git a/crates/languages/src/python/embedding.scm b/crates/languages/src/python/embedding.scm deleted file mode 100644 index e3efb3dbf6..0000000000 --- a/crates/languages/src/python/embedding.scm +++ /dev/null @@ -1,9 +0,0 @@ -(class_definition - "class" @context - name: (identifier) @name - ) @item - -(function_definition - "async"? @context - "def" @context - name: (_) @name) @item diff --git a/crates/languages/src/rust/embedding.scm b/crates/languages/src/rust/embedding.scm deleted file mode 100644 index 286b1d1357..0000000000 --- a/crates/languages/src/rust/embedding.scm +++ /dev/null @@ -1,32 +0,0 @@ -( - [(line_comment) (attribute_item)]* @context - . - [ - - (struct_item - name: (_) @name) - - (enum_item - name: (_) @name) - - (impl_item - trait: (_)? @name - "for"? @name - type: (_) @name) - - (trait_item - name: (_) @name) - - (function_item - name: (_) @name - body: (block - "{" @keep - "}" @keep) @collapse) - - (macro_definition - name: (_) @name) - ] @item - ) - -(attribute_item) @collapse -(use_declaration) @collapse diff --git a/crates/languages/src/tsx/embedding.scm b/crates/languages/src/tsx/embedding.scm deleted file mode 100644 index ddcff66584..0000000000 --- a/crates/languages/src/tsx/embedding.scm +++ /dev/null @@ -1,85 +0,0 @@ -( - (comment)* @context - . - [ - (export_statement - (function_declaration - "async"? @name - "function" @name - name: (_) @name)) - (function_declaration - "async"? @name - "function" @name - name: (_) @name) - ] @item - ) - -( - (comment)* @context - . - [ - (export_statement - (class_declaration - "class" @name - name: (_) @name)) - (class_declaration - "class" @name - name: (_) @name) - ] @item - ) - -( - (comment)* @context - . - [ - (export_statement - (interface_declaration - "interface" @name - name: (_) @name)) - (interface_declaration - "interface" @name - name: (_) @name) - ] @item - ) - -( - (comment)* @context - . - [ - (export_statement - (enum_declaration - "enum" @name - name: (_) @name)) - (enum_declaration - "enum" @name - name: (_) @name) - ] @item - ) - -( - (comment)* @context - . - [ - (export_statement - (type_alias_declaration - "type" @name - name: (_) @name)) - (type_alias_declaration - "type" @name - name: (_) @name) - ] @item - ) - -( - (comment)* @context - . - (method_definition - [ - "get" - "set" - "async" - "*" - "static" - ]* @name - name: (_) @name) @item - ) diff --git a/crates/languages/src/typescript/embedding.scm b/crates/languages/src/typescript/embedding.scm deleted file mode 100644 index 3170cb7c95..0000000000 --- a/crates/languages/src/typescript/embedding.scm +++ /dev/null @@ -1,85 +0,0 @@ -( - (comment)* @context - . - [ - (export_statement - (function_declaration - "async"? @name - "function" @name - name: (_) @name)) - (function_declaration - "async"? @name - "function" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (class_declaration - "class" @name - name: (_) @name)) - (class_declaration - "class" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (interface_declaration - "interface" @name - name: (_) @name)) - (interface_declaration - "interface" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (enum_declaration - "enum" @name - name: (_) @name)) - (enum_declaration - "enum" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - [ - (export_statement - (type_alias_declaration - "type" @name - name: (_) @name)) - (type_alias_declaration - "type" @name - name: (_) @name) - ] @item -) - -( - (comment)* @context - . - (method_definition - [ - "get" - "set" - "async" - "*" - "static" - ]* @name - name: (_) @name) @item -)