feat: Remove `:tree-sitter-injections`

This would fit in a different PR.
pull/12759/head
Nik Revenco 2025-05-25 00:13:26 +01:00
parent 76fb79e4c1
commit d6d7a3c9e2
3 changed files with 2 additions and 112 deletions

2
Cargo.lock generated
View File

@ -2801,6 +2801,7 @@ checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
[[package]] [[package]]
name = "tree-house" name = "tree-house"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/nik-rev/tree-house?rev=a6c231c7f935eed9015ae7ef500dc99e4fa15c93#a6c231c7f935eed9015ae7ef500dc99e4fa15c93"
dependencies = [ dependencies = [
"arc-swap", "arc-swap",
"hashbrown 0.15.2", "hashbrown 0.15.2",
@ -2816,6 +2817,7 @@ dependencies = [
[[package]] [[package]]
name = "tree-house-bindings" name = "tree-house-bindings"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/nik-rev/tree-house?rev=a6c231c7f935eed9015ae7ef500dc99e4fa15c93#a6c231c7f935eed9015ae7ef500dc99e4fa15c93"
dependencies = [ dependencies = [
"cc", "cc",
"libloading", "libloading",

View File

@ -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 | | `: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-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-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-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-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. | | `:debug-eval` | Evaluate expression in current debug context. |

View File

@ -1667,106 +1667,6 @@ fn tree_sitter_scopes(
Ok(()) 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( fn tree_sitter_highlight_name(
cx: &mut compositor::Context, cx: &mut compositor::Context,
_args: Args, _args: Args,
@ -3302,17 +3202,6 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
..Signature::DEFAULT ..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 { TypableCommand {
name: "debug-start", name: "debug-start",
aliases: &["dbg"], aliases: &["dbg"],