pallene
lua-language-server
pallene | lua-language-server | |
---|---|---|
17 | 79 | |
581 | 3,043 | |
4.8% | 2.9% | |
5.1 | 9.4 | |
12 days ago | 8 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.
pallene
-
LuaX: A Lua Dialect with JSX
It would have been nice if LuaX was written in Lua.
Forking Pallene (https://github.com/pallene-lang/pallene) would introduce:
- Which for loop method is faster
- Using Lua with C++
-
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
-
Nelua, AOT statically typed Lua
That was somewhat of an entertaining read.
> Terra is C if you replaced the preprocessor with Lua.
This is what is written on the tin.
PUC made there own version of Terra
Pallene http://www.inf.puc-rio.br/~roberto/docs/Gualandi-2020-SCP.pd...
https://github.com/pallene-lang/pallene
https://www.youtube.com/watch?v=H3inzGGFefg
This is a good writeup on all the Alt-Luas https://injuly.in/blog/gsoc/
- data types in function definition
- You can make Lua compiled/statically typed using Teal... It's like TypeScript, but for Lua!
-
Lua, a Misunderstood Language
Odd to suggest that if they're interested in Lua, that they should check out Moonscript which is a different language altogether (although it compiles to Lua). But if you insist, something a little more Lua-ish is Teal[1] (gradual types ala TypeScript) or Pallene[2] (companion typed subset of Lua meant to generate optimized C libraries for use with Lua).
[1]: https://github.com/teal-language/tl
[2]: https://github.com/pallene-lang/pallene
- Interesting discussion about lua on Hacker News
-
Upcoming interview with Roberto Ierusalimschy
You might be thinking of Pallene (previously named Titan) 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?
LuaJIT - Mirror of the LuaJIT git repository
lua-lsp - A Lua language server
luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua
luacheck - A tool for linting and static analysis of Lua code.
nelua-lang - Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
tl - The compiler for Teal, a typed dialect of Lua
lsp-mode - Emacs client/library for the Language Server Protocol
terra - Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language.
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
moonscript - :crescent_moon: A language that compiles to Lua
nvim-cmp - A completion plugin for neovim coded in Lua.