glsp
lume
glsp | lume | |
---|---|---|
4 | 9 | |
129 | 945 | |
- | - | |
5.2 | 0.0 | |
about 2 months ago | 6 months ago | |
Go | Lua | |
Apache License 2.0 | 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.
glsp
-
fe: A tiny, embeddable language implemented in ANSI C
I wrote a lisp, a while back, and then later added an LSP for it.
Since lisp is so simple in terms of syntax what I really did was tab-completion, and info-on-hover, for the built-in functions like "car", "cdr", and the primitives I added as part of a more complex standard-library.
In my case I was writing in go and I found an LSP-server package which was trivial to use. So getting the integration with emacs, vim, etc, was really trivial:
https://github.com/tliron/glsp
-
How to get into Language Server Protocol? Any good tutorials?
For Go I use this library. If you want examples for Go, you can have a look at the github-dependents of the library.
-
Language server for golangci-lint
Built on the excellent glsp package and heavily inspired by golangci-lint-langserver, this is a language server for golangci-lint.
-
How to create a language server (LSP) in Go?
I'm using https://github.com/tliron/glsp which works pretty good for me together with the official specification of the ls-protocol
lume
- fe: A tiny, embeddable language implemented in ANSI C
-
What would be the significant benefits if one would develop equivalent libraries that are available for Python for Lua/Nelua?
Lua is a small language and its "standard library" is very minimal. Lua's intended for embedding so usually the host program provides a broader standard library by exposing functions to lua. However, there are several standard library packages for lua: batteries and lume are focused on gamedev; Penlight aims at bringing the breadth of python's stdlib to lua; plenary.nvim for nvim plugins; and probably more for other domains. I'd definitely recommend checking these out to help get closer to functionality level of most other languages (I use both lume and batteries, but dropped penlight awhile back because I found some implementations confusing/overcomplicated/inconsistent).
-
The first release of DeathVim
Making a lua-based distro might benefit from packing in an existing lua utility library instead of starting your own: lume (useful single file of utilities) or batteries (organized into modules).
-
Thoughts on LUA?
Second, hot reload actually works and is usually instant. (lume has one you can adapt, I use gabe's class system and reload since it's already integrated). Since an instance of an object is a table, and functions on the object are elements in a table, you can swap out functions for their new values and keep your current state. By comparison, Unity's C# hot code reloading requires you to serialize your state because it needs to unload the AppDomain. It needs to rebuild the world with the new types. Most serialization occurs automatically, but often it doesn't and you need to add special callbacks to make it work. Regardless, for projects of any real size, it's slow. Not sure how Unreal's Live++ (Live Coding) works, but seems like you can't edit .h files.
-
Idiomatic way to differentiate an ordered table from an unordered one?
From lume:
-
JS-object-like functions for lua tables
Or check out Lume.
-
Lua Table Serializatio
Yeah, lume is not a tiny library, but you can simply take only the functions you need from it. It's source code is very easy to read and (de)serialization implemented there in pretty minimalistic way.
-
Spreading tables in Lua
I'm not very familiar with javascript and its spreading operator, but it seems to me that something similar is in lume. Check out lume.extend and lume.merge.
What are some alternatives?
golangci-lint-langserver - golangci-lint language server
DeathVim - A quick neovim setup.
bass - a low fidelity scripting language for project infrastructure
lua-cjson - Lua CJSON is a fast JSON encoding/parsing module for Lua
python-language-server - An implementation of the Language Server Protocol for Python
Penlight - A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management. Much of the functionality is inspired by the Python standard libraries.
fe - A tiny, embeddable language implemented in ANSI C
batteries - Reusable dependencies for games made with lua (especially with love)
DaedalusLanguageServer - A LanguageServer implementation in GO for the scripting language daedalus
pygls - A pythonic generic language server
femtolisp - a lightweight, robust, scheme-like lisp implementation