From f5dc45310941dff6efc02d955fc0c110190e9b85 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 17 Jan 2024 16:55:52 +0100 Subject: feat(treesitter)!: new standard capture names Problem: Sharing queries with upstream and Helix is difficult due to different capture names. Solution: Define and document a new set of standard captures that matches tree-sitter "standard captures" (where defined) and is closer to Helix' Atom-style nested groups. This is a breaking change for colorschemes that defined highlights based on the old captures. On the other hand, the default colorscheme now defines links for all standard captures (not just those used in bundled queries), improving the out-of-the-box experience. --- runtime/queries/vimdoc/highlights.scm | 67 ++++++++++++++++++++++++++--------- runtime/queries/vimdoc/injections.scm | 2 +- 2 files changed, 51 insertions(+), 18 deletions(-) (limited to 'runtime/queries/vimdoc') diff --git a/runtime/queries/vimdoc/highlights.scm b/runtime/queries/vimdoc/highlights.scm index e0dce49b2a..294fa94f10 100644 --- a/runtime/queries/vimdoc/highlights.scm +++ b/runtime/queries/vimdoc/highlights.scm @@ -1,25 +1,58 @@ -(h1) @text.title.1 -(h2) @text.title.2 -(h3) @text.title.3 -(column_heading) @text.title.4 +(h1) @markup.heading.1 + +(h2) @markup.heading.2 + +(h3) @markup.heading.3 + +(column_heading) @markup.heading.4 + (column_heading - "~" @conceal (#set! conceal "")) + "~" @markup.heading.4.marker + (#set! conceal "")) + (tag - "*" @conceal (#set! conceal "") - text: (_) @label) + "*" @markup.heading.5.marker + (#set! conceal "") + text: (_) @label) + (taglink - "|" @conceal (#set! conceal "") - text: (_) @text.reference) + "|" @markup.link + (#set! conceal "") + text: (_) @markup.link) + (optionlink - text: (_) @text.reference) + text: (_) @markup.link) + (codespan - "`" @conceal (#set! conceal "") - text: (_) @text.literal) -(codeblock) @text.literal + "`" @markup.raw.delimiter + (#set! conceal "") + text: (_) @markup.raw) + +((codeblock) @markup.raw.block + (#set! "priority" 90)) + (codeblock - [">" (language)] @conceal (#set! conceal "")) + [ + ">" + (language) + ] @markup.raw.delimiter + (#set! conceal "")) + (block - "<" @conceal (#set! conceal "")) -(argument) @parameter + "<" @markup.raw.delimiter + (#set! conceal "")) + +(argument) @variable.parameter + (keycode) @string.special -(url) @text.uri + +(url) @string.special.url + +((note) @comment.note + (#any-of? @comment.note "Note:" "NOTE:" "Notes:")) + +((note) @comment.warning + (#any-of? @comment.warning "Warning:" "WARNING:")) + +((note) @comment.error + (#any-of? @comment.error "Deprecated:" "DEPRECATED:")) diff --git a/runtime/queries/vimdoc/injections.scm b/runtime/queries/vimdoc/injections.scm index 260a05d863..3b8fbf0f36 100644 --- a/runtime/queries/vimdoc/injections.scm +++ b/runtime/queries/vimdoc/injections.scm @@ -1,4 +1,4 @@ ((codeblock (language) @injection.language (code) @injection.content) - (#set! injection.include-children)) + (#set! injection.include-children)) -- cgit