lume
plenary.nvim
lume | plenary.nvim | |
---|---|---|
9 | 58 | |
945 | 2,416 | |
- | 5.7% | |
0.0 | 7.5 | |
6 months ago | 1 day 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.
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.
plenary.nvim
-
How To Create An UI Menu In Neovim
we can create a function to open a pop up menu using plenary.popup like this, you need to install neovim plenary if you don't already have it https://github.com/nvim-lua/plenary.nvim
-
How can I run a vim.cmd asynchronously?
If you are really interested in doing this yourself with loop, you should take a look at either plenary.job or netman.shell (I made the latter) as both are very well documented.
- Async module in Lua for Nvim
-
How to send curl requests without plugin dependency and read the result all in Lua?
I feel this :( That said, alot of plugins rely on plenary.nvim. Its up to you if you determine this is "non-essential" or not. It will almost certainly be available for you to use already.
-
nvim-http: A simple yet modern HTTP client for neovim
The big reason I ask is that reaching out to an external python shell to run commands (disregard the fact that its python running) is going to be much slower than using the in built lua JIT interpreter. Additionally, plenary has a built in curl function so you don't have to "reinvent the wheel".
- Does there exist any simple Lua syntax to extend tables?
-
Testing my config?
There is also test harness in nvim-lua/plenary.nvim with a slightly different design, but still usable of course.
-
How to write `pretty_print`ed json data into a json file?
I am simply using busted or more specifically vusted which is a wrapper around busted for Neovim. It should be quite straightforward to learn the basics, I would say you mostly need to know these functions: describe, it (these are used to structure your test cases) and assert.are_same (to check for table equality). Some people are also using plenary which is also based on busted.
-
Neovim Lua Nix plugin template
It's based on nvim-lua-plugin-template, but uses Nix flakes to run plenary.nvim tests.
-
Sympy + Luasnip + Vimtex
Plenary plugin for Nvim
What are some alternatives?
DeathVim - A quick neovim setup.
async-await.lua - Write async function more like javascript async/await
lua-cjson - Lua CJSON is a fast JSON encoding/parsing module for Lua
nvim-reload - Plugin to easily reload your Neovim config
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.
nvim-lua-guide - A guide to using Lua in Neovim
batteries - Reusable dependencies for games made with lua (especially with love)
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
fe - A tiny, embeddable language implemented in ANSI C
nvim-lua
glsp - Language Server Protocol SDK for Go
telescope-fzf-native.nvim - FZF sorter for telescope written in c