diff options
| author | Yochem van Rosmalen <git@yochem.nl> | 2026-01-14 12:03:21 +0100 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2026-08-25 10:52:12 +0200 |
| commit | b36b3d7f3a07cfcc4e76079188bfd7d3976a9cd3 (patch) | |
| tree | c648aca0553d78c7e4d240113c41d17357f2cd68 /runtime/lua/vim/pack.lua | |
| parent | a1de07418b89f1b30f9ca088306b2c1615f928c3 (diff) | |
| download | rneovim-b36b3d7f3a07cfcc4e76079188bfd7d3976a9cd3.tar.gz rneovim-b36b3d7f3a07cfcc4e76079188bfd7d3976a9cd3.tar.bz2 rneovim-b36b3d7f3a07cfcc4e76079188bfd7d3976a9cd3.zip | |
feat(help): generate :helptags using Treesitter
Problem:
Tags are manually parsed in C which is not flexible and prone to errors.
Extending the help system to allow for other formats (e.g. Markdown)
would require a large rewrite in the C core, while with Treesitter it
only needs a query update.
Solution:
Use the power of treesitter to extract the tags from helpfiles.
- build: set `$VIMRUNTIME` when generating helptags, like
`cmake/Util.cmake` already does for other generators.
- fix(help): only accept tags delimited by whitespace. The old C parser
only accepted a `*tag*` preceded by start-of-line or whitespace and
followed by whitespace or end-of-line. The vimdoc parser also captures
tags followed by other text, e.g. `*$XDG_STATE_HOME*/.../logs` in
starting.txt, which caused an E154 duplicate tag error for docs that
were previously fine.
Diffstat (limited to 'runtime/lua/vim/pack.lua')
0 files changed, 0 insertions, 0 deletions