tl
lua-language-server
tl | lua-language-server | |
---|---|---|
54 | 79 | |
1,944 | 3,011 | |
1.9% | 1.8% | |
7.7 | 9.4 | |
3 months ago | 6 days ago | |
Lua | Lua | |
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.
tl
-
Ravi is a dialect of Lua, with JIT and AOT compilers
it's based off MIR, does it have something to do with https://mlir.llvm.org/ ?
for typed lua, there is another effort https://github.com/teal-language/tl in addition to the mentioned typescript approach: https://github.com/andremm/typedlua
-
Lua Criticism Is Unwarranted
I had the pleasure of working with Lua 5.1 back in the late noughties. For me it's replaced Tcl whenever I want something I can configure above a C library. At the time I used it I found it quite nice but I'll also not forget the hours I wasted tracking down nil table corruptions which could have easily been caught by a type checker.
I had some hope that Luau https://luau-lang.org or Teal https://github.com/teal-language/tl would make things better but with the following example
function foo(x: number): string
- Why Fennel?
-
Algebraic data types in Lua (Almost) post
I wonder why the author doesn't use Teal [0] - a typed dialect of lua.
[O] https://github.com/teal-language/tl
-
Lua: The Little Language That Could
Check out Teal
-
What's the deal with Fennel in Neovim?
There is already https://github.com/teal-language/tl, which is typed Lua. I think fennel exists to serve a different niche-- personally I use it not for any type features; I just like the syntax better, and others may find certain features like the macro system useful.
- Using Lua with C++
- Teal – Type Hints for Lua
-
Using other languages
There's also some languages made to compile straight to Lua: - MoonScript is the most popular Lua wrapper - it's built to be more Python-like, featuring indentation-based scopes, function calls without parentheses, lambda syntax, list comprehension, and much more. - Yuescript is a modern update to MoonScript that adds more features (I haven't used it myself, so I'm not entirely sure exactly how it differs from MS). - Teal is a version of Lua that adds static typing for better code standards.
-
Bog – small, strongly typed, embeddable language
Terra and Nelua are both very different in goals than Teal. Teal is literally gradual types integrated into Lua keeping as many of Lua's idioms as possible (to a fault[1]). Terra and Nelua are both very metaprogrammable systems programming languages. Nelua's goals are primarily to soften C's rough edges, comparable to something like Nim.
There's another one you missed in Pallene[2]. But again, it's goal was to optimize the stack sharing involved in using the C API. It also adds types though and maintains Lua idioms as much as possible.
[1]: https://github.com/teal-language/tl/discussions/339
[2]: https://github.com/pallene-lang/pallene
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).
What are some alternatives?
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
lua-lsp - A Lua language server
OpenBBTerminal - Investment Research for Everyone, Everywhere.
luacheck - A tool for linting and static analysis of Lua code.
packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
rpi-open-firmware - Open source VPU side bootloader for Raspberry Pi.
lsp-mode - Emacs client/library for the Language Server Protocol
luaforwindows - Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. NOTICE: Looking for maintainer.
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
pallene - Pallene Compiler
nvim-cmp - A completion plugin for neovim coded in Lua.