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 68817790973c259ccc6f4252820f02201fc69273..a294f1b5ae81a0d1b59ae1d685ab0d1f8fd67b5a 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 6d91f5233ebd91de9ca02c4187c5a368c0323f2d..9bdde8a5fa424627174f4c9f0d86302baff8b5e5 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 0178abeb18374771967c09c93b9fcfc504e1e556..0000000000000000000000000000000000000000 --- 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 bbd93f20dbdf6eddd097f49b7603ec5e0dc9bc59..0000000000000000000000000000000000000000 --- 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 9d8700cdfb57d1008acc09c11013f2046e7bd157..0000000000000000000000000000000000000000 --- 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 ab1a3b6b063c3bf57adad3c302a156fcd0239448..0000000000000000000000000000000000000000 --- 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 fa286e3880aa67d49f710f991d6839ebbd306104..0000000000000000000000000000000000000000 --- 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 fa286e3880aa67d49f710f991d6839ebbd306104..0000000000000000000000000000000000000000 --- 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 e3efb3dbf67c28083f6311b2337ecfe97ccebe27..0000000000000000000000000000000000000000 --- 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 286b1d13571ad62964e3f38415fc4cbbb04e4e99..0000000000000000000000000000000000000000 --- 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 ddcff665841091aa170bd5f9bb60439a2cadb2c5..0000000000000000000000000000000000000000 --- 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 3170cb7c957e51e00c175c7eaa2b4b51deda042a..0000000000000000000000000000000000000000 --- 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 -)