summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/queries
AgeCommit message (Collapse)AuthorFiles
2026-02-26build(deps): bump tree-sitter-lua to v0.5.0Christian Clason1
2026-01-24build(deps): bump tree-sitter-vim to v0.8.0Christian Clason1
2025-12-31build(deps): bump tree-sitter-lua to v0.4.1Christian Clason1
2025-07-12build(deps): bump tree-sitter-vim to v0.7.0Christian Clason1
2025-05-03build(deps): bump tree-sitter-vim to v0.6.0Christian Clason1
2025-03-24fix(treesitter): sync queries with upstreamChristian Clason1
Update C highlight query from nvim-treesitter
2025-03-15fix(treesitter): update lua, markdown queriesChristian Clason2
2025-02-25feat(treesitter): vertical conceal support for highlighterLuuk van Baal1
TSHighlighter now places marks for conceal_lines metadata. A new internal decor provider callback _on_conceal_line was added that instructs the highlighter to place conceal_lines marks whenever the editor needs to know whether a line is concealed. The bundled markdown queries use conceal_lines metadata to conceal code block fence lines.
2025-02-04build(deps): bump tree-sitter-query to v0.5.0 (#32299)Riley Bruins1
and sync queries from nvim-treesitter (adds support for `MISSING` nodes).
2024-11-22fix(treesitter): update queriesChristian Clason5
2024-09-27feat(defaults): pretty :help headings #30544Justin M. Keyes1
Problem: Headings in :help do not stand out visually. Solution: Define a non-standard `@markup.heading.1.delimiter` group and special-case it in `highlight_group.c`. FUTURE: This is a cheap workaround until we have #25718 which will enable: - fully driven by `vimdoc/highlights.scm` instead of using highlight tricks (`guibg=bg guifg=bg guisp=fg`) - better support of "cterm" ('notermguicolors')
2024-09-12fix(treesitter): sync queries from upstreamChristian Clason2
2024-07-28fix(runtime): sync bundled treesitter queriesChristian Clason5
2024-07-24fix(runtime): sync bundled treesitter queriesChristian Clason3
2024-07-09build(deps): drop unused bundled bash, python parsers and queriesChristian Clason5
Problem: Neovim bundles treesitter parsers for bash and python but does not use them by default. This dilutes the messaging about the bundled parsers being required for functionality or reasonable out-of-the-box experience. It also increases the risk of query incompatibilities for no gain. Solution: Stop bundling bash and python parser and queries.
2024-06-08build(deps): bump tree-sitter-vimdoc to v3.0.0Christian Clason1
2024-05-26build(deps): bump tree-sitter-query to v0.4.0Christian Clason1
2024-05-05fix(treesitter): update queriesChristian Clason8
2024-04-05fix(treesitter): update parsers and queriesChristian Clason8
2024-03-19feat(treesitter): update Markdown parsers and queries to v0.2.1Christian Clason2
2024-03-19feat(treesitter): update Bash parser and queries to v0.21.0Christian Clason2
2024-03-19feat(treesitter): update Python parser and queries to v0.21.0Christian Clason1
2024-03-19feat(treesitter): update Vimdoc parser and queries to v2.4.0Christian Clason1
2024-03-19feat(treesitter): update Vim parser and queries to v0.4.0Christian Clason2
2024-03-19feat(treesitter): update Lua parser and queries to v0.1.0Christian Clason2
2024-03-19feat(treesitter): update C parser and queries to v0.21.0Christian Clason1
2024-03-12feat(treesitter): support URLs (#27132)Gregory Anders2
Tree-sitter queries can add URLs to a capture using the `#set!` directive, e.g. (inline_link (link_text) @text.reference (link_destination) @text.uri (#set! @text.reference "url" @text.uri)) The pattern above is included by default in the `markdown_inline` highlight query so that users with supporting terminals will see hyperlinks. For now, this creates a hyperlink for *all* Markdown URLs of the pattern [link text](link url), even if `link url` does not contain a valid protocol (e.g. if `link url` is a path to a file). We may wish to change this in the future to only linkify when the URL has a valid protocol scheme, but for now we delegate handling this to the terminal emulator. In order to support directives which reference other nodes, the highlighter must be updated to use `iter_matches` rather than `iter_captures`. The former provides the `match` table which maps capture IDs to nodes. However, this has its own challenges: - `iter_matches` does not guarantee the order in which patterns are iterated matches the order in the query file. So we must enforce ordering manually using "subpriorities" (#27131). The pattern index of each match dictates the extmark's subpriority. - When injections are used, the highlighter contains multiple trees. The pattern indices of each tree must be offset relative to the maximum pattern index from all previous trees to ensure that extmarks appear in the correct order. - The `iter_captures` implementation currently has a bug where the "match" table is only returned for the first capture within a pattern (see #27274). This bug means that `#set!` directives in a query apply only to the first capture within a pattern. Unfortunately, many queries in the wild have come to depend on this behavior. `iter_matches` does not share this flaw, so switching to `iter_matches` exposed bugs in existing highlight queries. These queries have been updated in this repo, but may still need to be updated by users. The `#set!` directive applies to the _entire_ query pattern when used without a capture argument. To make `#set!` apply only to a single capture, the capture must be given as an argument.
2024-02-10build(deps): bump tree-sitter-bash to v0.20.5Christian Clason1
2024-01-21feat(treesitter)!: new standard capture namesChristian Clason21
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.
2023-09-19feat(lsp): use treesitter for stylize markdownMaria José Solano2
2023-08-27build(deps): bump tree-sitter-python to v0.20.4Sanchayan Maity1
2023-08-13feat(treesitter): update C queries from upstreamChristian Clason2
2023-08-11feat(treesitter): add injection language fallback (#24659)Christian Clason1
* feat(treesitter): add injection language fallback Problem: injection languages are often specified via aliases (e.g., filetype or in upper case), requiring custom directives. Solution: include lookup logic (try as parser name, then filetype, then lowercase) in LanguageTree itself and remove `#inject-language` directive. Co-authored-by: Lewis Russell <me@lewisr.dev>
2023-07-27build(deps): bump tree-sitter-c to v0.20.4 (#24495)Christian Clason2
2023-07-22fix(treesitter): update markdown parser and queries (#24429)Christian Clason1
2023-07-01feat(treesitter): add bash parser and queriesChristian Clason2
2023-07-01feat(treesitter): add python parser and queriesChristian Clason2
2023-07-01feat(treesitter): bundle markdown parser and queries (#22481)Christian Clason5
* bundle split Markdown parser from https://github.com/MDeiml/tree-sitter-markdown * add queries from https://github.com/nvim-treesitter/nvim-treesitter/tree/main * upstream `#trim!` and `#inject-language!` directives Co-authored-by: dundargoc <gocdundar@gmail.com>
2023-06-26fix(treesitter): update lua parser and queries (#24148)Christian Clason2
2023-05-21fix(treesitter): update highlights for query (#23699)Christian Clason1
captures for `; extends` and `; inherits`
2023-05-15fix(treesitter): update c queriesChristian Clason1
2023-05-15fix(treesitter): update vimdoc and vimscript queriesChristian Clason2
2023-05-15build(deps): update lua parser and queriesChristian Clason2
2023-04-01refactor(treesitter)!: rename help parser to vimdocChristian Clason2
2023-04-01fix(treesitter): update queries from nvim-treesitterChristian Clason5
remove self-injection for C preprocessor macros (can be very slow)
2023-03-08feat(treesitter): use upstream format for injection queriesLewis Russell4
2023-03-03feat(treesitter): bundle query parser and queries (#22483)Christian Clason4
skip injections for now
2023-02-23feat(treesitter): upstream foldexpr from nvim-treesitterLewis Russell3
2022-11-29feat(help): highlighted codeblocksChristian Clason2
2022-11-22build(deps): update viml parser and queries (#21158)Christian Clason2