From d6d7a3c9e2429984fa0e39691be9d90d2ba745ef Mon Sep 17 00:00:00 2001 From: Nik Revenco <154856872+NikitaRevenco@users.noreply.github.com> Date: Sun, 25 May 2025 00:13:26 +0100 Subject: [PATCH] feat: Remove `:tree-sitter-injections` This would fit in a different PR. --- Cargo.lock | 2 + book/src/generated/typable-cmd.md | 1 - helix-term/src/commands/typed.rs | 111 ------------------------------ 3 files changed, 2 insertions(+), 112 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 214bc1ee4..f8f805842 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2801,6 +2801,7 @@ checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" [[package]] name = "tree-house" version = "0.1.0" +source = "git+https://github.com/nik-rev/tree-house?rev=a6c231c7f935eed9015ae7ef500dc99e4fa15c93#a6c231c7f935eed9015ae7ef500dc99e4fa15c93" dependencies = [ "arc-swap", "hashbrown 0.15.2", @@ -2816,6 +2817,7 @@ dependencies = [ [[package]] name = "tree-house-bindings" version = "0.1.0" +source = "git+https://github.com/nik-rev/tree-house?rev=a6c231c7f935eed9015ae7ef500dc99e4fa15c93#a6c231c7f935eed9015ae7ef500dc99e4fa15c93" dependencies = [ "cc", "libloading", diff --git a/book/src/generated/typable-cmd.md b/book/src/generated/typable-cmd.md index d6fa4f3fd..219f6b95f 100644 --- a/book/src/generated/typable-cmd.md +++ b/book/src/generated/typable-cmd.md @@ -56,7 +56,6 @@ | `:lsp-stop` | Stops the given language servers, or all language servers that are used by the current file if no arguments are supplied | | `:tree-sitter-scopes` | Display tree sitter scopes, primarily for theming and development. | | `:tree-sitter-highlight-name` | Display name of tree-sitter highlight scope under the cursor. | -| `:tree-sitter-injections` | Display injected languages for the file. | | `:debug-start`, `:dbg` | Start a debug session from a given template with given parameters. | | `:debug-remote`, `:dbg-tcp` | Connect to a debug adapter by TCP address and start a debugging session from a given template with given parameters. | | `:debug-eval` | Evaluate expression in current debug context. | diff --git a/helix-term/src/commands/typed.rs b/helix-term/src/commands/typed.rs index 9c12cae4c..200323e10 100644 --- a/helix-term/src/commands/typed.rs +++ b/helix-term/src/commands/typed.rs @@ -1667,106 +1667,6 @@ fn tree_sitter_scopes( Ok(()) } -fn tree_sitter_injections( - _cx: &mut compositor::Context, - _args: Args, - _event: PromptEvent, -) -> anyhow::Result<()> { - unimplemented!() - // if event != PromptEvent::Validate { - // return Ok(()); - // } - - // let doc = doc!(cx.editor); - - // let syntax = doc - // .syntax() - // .context("No tree-sitter grammar found for this file.")?; - - // let mut ranges = vec![]; - - // for (language_id, layer) in syntax.layers() { - // let language_name = &syntax.layer_config(language_id).language_name; - // for range in &layer.ranges { - // ranges.push((range, language_name.clone())); - // } - // } - - // ranges.sort_unstable_by(|(range_a, _), (range_b, _)| { - // range_a - // .start_byte - // .cmp(&range_b.start_byte) - // .then(range_a.end_byte.cmp(&range_b.end_byte)) - // }); - - // let char_count = doc.text().len_chars(); - - // let mut contents = String::new(); - - // let mut stack = Vec::new(); - - // let mut ranges = ranges.iter().peekable(); - - // while let Some((range, language_name)) = ranges.next() { - // while let Some((prev_start, prev_end)) = stack.last() { - // let is_contained = range.end_byte < *prev_end && range.start_byte > *prev_start; - // if is_contained { - // break; - // } - // stack.pop(); - // } - - // let language_range = if range.end_byte < char_count { - // format!("[{}, {}]", range.start_byte, range.end_byte) - // } else { - // format!("[0, {}]", char_count) - // }; - - // let indent = stack.len() * 4; - // let indent = format!("{:indent$}", ""); - - // let next_is_contained = ranges.peek().as_ref().is_some_and(|(next, _)| { - // range.end_byte > next.end_byte && range.start_byte < next.start_byte - // }); - - // let children = if next_is_contained { - // format!("\n{indent} injections:") - // } else { - // "".into() - // }; - - // let dash = if !indent.is_empty() { - // format!("{}- ", &indent) - // } else { - // "- ".into() - // }; - - // writeln!( - // contents, - // "{dash}language: {language_name} - // {indent} range: {language_range}{children}", - // )?; - - // stack.push((range.start_byte, range.end_byte)); - // } - - // let callback = async move { - // let call: job::Callback = Callback::EditorCompositor(Box::new( - // move |editor: &mut Editor, compositor: &mut Compositor| { - // let contents = - // ui::Markdown::new(format!("```yaml\n{contents}```"), editor.syn_loader.clone()); - // let popup = Popup::new("hover", contents).auto_close(true); - // compositor.replace_or_push("hover", popup); - // }, - // )); - // Ok(call) - // }; - - // cx.jobs.callback(callback); - - // Ok(()) -} - fn tree_sitter_highlight_name( cx: &mut compositor::Context, _args: Args, @@ -3302,17 +3202,6 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[ ..Signature::DEFAULT }, }, - TypableCommand { - name: "tree-sitter-injections", - aliases: &[], - doc: "Display injected languages for the file.", - fun: tree_sitter_injections, - completer: CommandCompleter::none(), - signature: Signature { - positionals: (0, Some(0)), - ..Signature::DEFAULT - }, - }, TypableCommand { name: "debug-start", aliases: &["dbg"],