lua-language-server
lemmy-help
lua-language-server | lemmy-help | |
---|---|---|
79 | 11 | |
3,011 | 142 | |
1.8% | - | |
9.4 | 0.0 | |
6 days ago | 6 months ago | |
Lua | Rust | |
MIT License | MIT License |
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.
lua-language-server
-
Some questions about code formatting with lsp-zero and mason
Check the documentation of lua_ls
-
Beginner question: is there any coding standard for documenting Lua functions or tables emulating OOP?
You can use LLS extension for VSCode. Documentation: https://github.com/LuaLS/lua-language-server/wiki/Annotations
-
Lua: The Little Language That Could
There's lua-language-server which works with types defined in definition files and/or annotations in comments.
-
Documentation Comment highlighting with TreeSitter
Lastly, neovim now supports semantic token highlighting which uses semantic tokens from LSP servers to provide even better, language specific highlighting. Some LSP servers support semantic tokens for doc comments. The lua language server is a good example. Unfortunately, if you're using a language like C or C++, the language servers do not provide semantic tokens for comments because doxygen style comments are not specific to those languages so you might be out of luck for semantic token highlighting.
-
This little thing bugs me: in lua LSP popup content, the closing paren is always highlighted red
I think it is because the language server send a different type for the first line: https://github.com/LuaLS/lua-language-server/blob/eeffd1462b892fda5d01282acf840ba0e154e467/script/core/hover/label.lua (might be one of the other files here, not label)
-
How to add lua-language-server to $PATH
And I was reading this installation guide and after "./bin/lua-language-server " I get this in terminal
-
New to lua
Not sure about typescript but there is a jsdoc equivalent: https://github.com/LuaLS/lua-language-server/wiki/Annotations
-
How complex can I make games in Lua?
Lua with lua-language-server and annotated types is a much nicer experience.
-
mini.nvim - release of version 0.8.0
For it to be language-aware (like provide suggestions for module/table/class methods/fields) you also need language server (like lua_ls for Lua). But even without it you should see suggestions from fallback method. If you don't, then 'mini.completion' is not installed and/or activated.
-
PSA: Changes to the mason.nvim registry
I also want to thank current & past GitHub sponsors who help finance costs associated with the plugin. I regularly pay the surplus forward to other devs whose tooling I heavily rely on (huge shout-out to sumneko for working on the Lua language server, without it a plugin of the complexity of mason.nvim would be impossible, go sponsor them here).
lemmy-help
-
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?
lua-lsp - A Lua language server
haskell-tools.nvim - Supercharge your Haskell experience in neovim!
luacheck - A tool for linting and static analysis of Lua code.
git-hooks.nix - Seamless integration of https://pre-commit.com git hooks with Nix.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
torqc - The official zeta compiler
lsp-mode - Emacs client/library for the Language Server Protocol
panvimdoc - Write documentation in pandoc markdown. Generate documentation in vimdoc.
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
boilit - create boilerplate structure for neovim plugins
nvim-cmp - A completion plugin for neovim coded in Lua.
videocall-rs - teleconference system written in rust