tree-sitter-vimdoc
tree-sitter-vimdoc copied to clipboard
Tree-sitter parser for Vim help files
vimdoc has "column" marker `~` which is supposedly intended to markup a table, example: ``` tag char action in Insert mode ~ ------------------------------------------------------------------------------ ~ |i_CTRL-@| CTRL-@ insert previously inserted text...
In testing this parser for nvim-treesitter (https://github.com/nvim-treesitter/nvim-treesitter/pull/2679), I noticed that some features are not yet supported, especially - [x] [Parameters](https://github.com/nanotee/vimdoc-notes#parameters) as in `{pattern}` - [x] [Keycodes](https://github.com/nanotee/vimdoc-notes#keycodes) and chords as in...
Example: ``` - Line starts with dash: > This is not recognized as code block < ``` ------ This seems to be a known problem, but there is no issue...
NVIM v0.10.0-dev-1500+g3128cff6b-dirty For example, the line underlined by ^ is all highlighted as a codeblock even though there is no closing backtick ``` '< `< To the first line or...
## Actual behavior Example (from `windows.txt`, line 131): ``` CTRL-W s *CTRL-W_s* CTRL-W S *CTRL-W_S* CTRL-W CTRL-S *CTRL-W_CTRL-S* ``` The only `(keycode)` element here is `CTRL-S`. All of the `CTRL-W`...
I noticed that this library has official releases with the latest being 1.2.5. Is publishing the Rust crate planned? This would mirror other established treesitter libraries like [tree-sitter-javascript](https://crates.io/crates/tree-sitter-javascript) and [tree-sitter-md](https://crates.io/crates/tree-sitter-md)....
## Problem vim :help (including `:help api`) has many "pseudo headers" that look like: ``` range({spec}) *vim.version.range()* Parses a semver |version-range| "spec" and returns a range object: ... ``` ##...
Note: do a release before merging this --- - Parse `[foo]` as `optional` ~~`optional_arg`~~ (naming suggestions?) - Don't treat `[{arg}]` as optional, else it clobbers the nested `{arg}`. fix #1...
see if we can use the approach from https://github.com/stsewd/tree-sitter-comment/commit/5b3c9204177032f9c2f189b965e4fa742d52c6c0
(Continuation of https://github.com/neovim/tree-sitter-vimdoc/issues/13 . See also https://github.com/neovim/tree-sitter-vimdoc/issues/21 ) # Problem https://github.com/neovim/tree-sitter-vimdoc/pull/16 added `(block)`, but these don't "nest". _Preamble from https://github.com/vigoux/tree-sitter-vimdoc/issues/12 :_ > In order for `:help` to render as something...