tree-sitter-lua
Neovim Tree Sitter Lua Grammar & Library (by tjdevries)
lemmy-help
Every one needs help, so lemmy-help you! A CLI to generate vim/nvim help doc from emmylua (by numToStr)
tree-sitter-lua | lemmy-help | |
---|---|---|
5 | 11 | |
113 | 144 | |
- | - | |
4.9 | 0.0 | |
about 2 months ago | 6 months ago | |
Lua | Rust | |
- | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tree-sitter-lua
Posts with mentions or reviews of tree-sitter-lua.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-04-21.
-
Generating docs for plugins?
As an alternative, telescope.nvim leverages TJs tree-sitter-lua that is relatively easy to setup as per the project README. I've done it twice for telescope extensions.
-
mini.doc - generate help files from EmmyLua-like annotations
I am happy to announce mini.doc - module of mini.nvim for generating help files (what you read when using :help) from EmmyLua-like annotations (not fully complying with this standard but very close). The basic idea is to keep documentation close to Lua implementation and generate help files automatically. It was written mainly to document 'mini.nvim' (instead of previous great but not that flexible tjdevries/tree-sitter-lua), but other people can also benefit from this. And not only plugin authors: general user can also document their Neovim Lua setup!
-
Alternative Lua parser for nvim-treesitter. It closely follows the syntax of Lua in extended BNF (https://www.lua.org/manual/5.1/manual.html#8).
Interesting, you seem to have done for this a lot of the reasons I created this parser awhile back: https://github.com/tjdevries/tree-sitter-lua
-
Octave and Matlab cmp sources
For documentation, I can highly recommend: https://github.com/tjdevries/tree-sitter-lua
- Noticing a lot of new *.nvim plugins do not have help files
lemmy-help
Posts with mentions or reviews of lemmy-help.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-10.
-
Question for lua Plugin devs.
So let me tell you about my experience! In the stone ages of lua plugins, I was maintaining a markdown file to note down all the APIs but as the plugin was constantly changing, docs were getting out of sync very quickly and it was a royal pain to update them. So, in my case emmylua was the obvious choice for the docs, so I began searching for tools that convert emmylua to vim-help, luckily I found tree-sitter-lua#docgen and mini.doc. But in the end, I decided to write my own tool, and thus lemmy-help was born. Here a help file generated by it
-
Plugin devs: type check your lua plugins with lua-language-server and EmmyLua (GitHub action)
When I added some EmmyLua docs to one of my plugins (to generate Vimdoc using lemmy-help), I noticed lua-language-server was giving me diagnostics based on my documentation. This was something I was not getting from linters like luacheck. So I asked myself, "Can I leverage lua-language-server and EmmyLua to statically type check my Lua code?"
-
PSA: Code Blocks can now be highlighted in vimdoc
This will drastically improve the UX of help files. I am adding support for this in lemmy-help here https://github.com/numToStr/lemmy-help/pull/65 and I hope other doc generators can leverage this to provide beautiful help docs :)
-
Are there any good starter templates for writing Neovim plugins?
If you want to provide vim doc, I recommend to use lemmy-help as soon as possible.
-
Side simple project in Rust
Rust is great for parsing text. I created https://github.com/numToStr/lemmy-help to parse emmylua from lua code and convert it into vim help doc. I am also reading https://craftinginterpreters.com/ to expand my parsing knowledge and using Rust as the implementation language.
-
lemmy-help v0.8.0 - Emmylua to vimdoc generator now has full support for emmylua types
I just released lemmy-help v0.8.0 which now has support for all* emmylua types. That means you can use any complex types in you emmylua annotations and it will be parsed correctly and vimdoc will be rendered as expected
-
Vim doc to markdown
And if you are writing lua plugin which have public API, I would recommend writing emmylua and covert that into vimdoc using https://github.com/numToStr/lemmy-help (Self Plug)
-
lemmy-help v0.5.0 | Generate vimdoc from emmylua
multiline ---@field description
-
Generating docs for plugins?
I've just released https://github.com/numToStr/lemmy-help :)
-
lemmy-help | A CLI for generating help docs from emmylua
That's just too much. You can just download the binaries from the releases page https://github.com/numToStr/lemmy-help/releases
What are some alternatives?
When comparing tree-sitter-lua and lemmy-help you can also consider the following projects:
cmp-matlab
haskell-tools.nvim - Supercharge your Haskell experience in neovim!
cmp-octave
git-hooks.nix - Seamless integration of https://pre-commit.com git hooks with Nix.
md2vim - Tool for automatically converting markdown to vimdoc format
torqc - The official zeta compiler
tree-sitter-jsdoc - JSDoc grammar for Tree-sitter
panvimdoc - Write documentation in pandoc markdown. Generate documentation in vimdoc.
lua-language-server - A language server that offers Lua language support - programmed in Lua
boilit - create boilerplate structure for neovim plugins
lush.nvim - Create Neovim themes with real-time feedback, export anywhere.
videocall-rs - teleconference system written in rust
tree-sitter-lua vs cmp-matlab
lemmy-help vs haskell-tools.nvim
tree-sitter-lua vs cmp-octave
lemmy-help vs git-hooks.nix
tree-sitter-lua vs md2vim
lemmy-help vs torqc
tree-sitter-lua vs tree-sitter-jsdoc
lemmy-help vs panvimdoc
tree-sitter-lua vs lua-language-server
lemmy-help vs boilit
tree-sitter-lua vs lush.nvim
lemmy-help vs videocall-rs