ziglua | luv | |
---|---|---|
4 | 14 | |
194 | 776 | |
- | 0.9% | |
8.8 | 8.1 | |
20 days ago | 2 months ago | |
Zig | C | |
MIT License | Apache License 2.0 |
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.
ziglua
-
Zig's Curious Multi-Sequence for Loops
I’ve absolutely had satisfaction with my several personal projects written in Zig. And based on an imperfect measurement (GitHub stars) I have also had moderate success in making something useful. It’s a terminal fuzzy finder [0]. I also maintain a Zig Lua bindings package [1], and I’m working on a port of an old Macintosh game [2].
Zig is exactly what I want out of a language though, so take my opinion with a grain of salt :)
[0]: https://github.com/natecraddock/zf
[1]: https://github.com/natecraddock/ziglua
[2]: https://github.com/natecraddock/open-reckless-drivin
-
How's the current story with Zig in terms of dependancy management and build repeatability?
Zig has a build system (the zig build command) that uses a build.zig file to compile a project. With a git submodule you just add the directory as a package in the build.zig file. Depending on the dependency, there might be a few more steps. For example, for my ziglua library requires adding the package path (so you can @import the zig sources), and also calling the link function which compiles the Lua C source and links with the Zig project.
-
Zig is becoming more production-worthy - zigmonthly
ziglua was released, which "takes advantage of Zig's features to make it easier and safer to interact with the Lua API."
- natecraddock/ziglua: Zig bindings for the Lua C API
luv
-
I can't build neovim
Hi, I had this issue and I solved it by building https://github.com/luvit/luv myself.
-
Where do I go after learning lua?
To answer the OP's question, you could tackle luv and libuv ecosystem, as a way to connect Lua to real-world systems (files, sockets, servers...). That's one way to put Lua skills to use, there are other great answers in the thread. Another recommendation is to go through Programming in Lua book, especially the later chapters where you learn how Lua talks to the host application.
-
What's the dogmatic way of dealing with leading and trailing newlines when running an external shell command from Neovim?
Alternatively you can get into the weeds and play around with the in built vim.loop (which is really just luv, specifically spawn to run commands on the OS and handle stdout processing via stream.
-
Purist neovim config
Unfortunately I doubt they are able to use netrw, it interfaces with user facing buffers too much. Telescope uses plenary which uses lua's luv implementation (bound to vim.loop). Fzf-lua uses an external binary called fzf
- Is it possible to get a program that doesn't use LUA to send data to a LUA program?
-
Library support situation?
Lua is still actively used so there is a great number of libraries that came out in last 9 years. A decent example is the luv library that is packed with great functionality. On the whole I'm quite satisfied with the ecosystem, but it all depends on the domain.
-
Run external process from neovim with lua
You should be able to find plenty of examples of asynchronous code at https://github.com/luvit/luv and translate it.
-
How do I use libuv filesystem event operations for handling filesystem management for plugins?
The first thing I would recommend is read the official documentation. Both libuv and luvit (or more specifically luv)
-
luv documentation in vimdoc format
I spent some time converting the luv documentation to make it available in :help and make the vim.loop module more discoverable. Thought plugin authors might be interested.
-
[Question] Multithreading in Neovim
I'm assuming this one.
What are some alternatives?
cosmic - A platform for computing and creating applications.
plenary.nvim - plenary: full; complete; entire; absolute; unqualified. All the lua functions I don't want to write twice.
zigimg - Zig library for reading and writing different image formats
lit - Toolkit for developing, sharing, and running luvit/lua programs and libraries.
zf - a commandline fuzzy finder designed for filtering filepaths
nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
open-reckless-drivin - A work-in-progress open source reimplementation of the classic Macintosh shareware game Reckless Drivin'
fs - Provide cross platform file operations based on libuv.
nvim-lua-guide - A guide to using Lua in Neovim
fwatch.nvim - fwatch.nvim lets you watch files or directories for changes and then run vim commands or lua functions.
awesome-lua - A curated list of quality Lua packages and resources.
luv-vimdocs