Penlight
neotest
Penlight | neotest | |
---|---|---|
7 | 22 | |
1,823 | 1,974 | |
0.9% | 4.3% | |
6.6 | 8.3 | |
17 days ago | 5 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.
Penlight
-
Pluto, a Modern Lua Dialect
To have enough batteries you kind of just need penlight[1] and maybe luastd. Of course there's posix, lfs, socket, luasec and you're semi set.
[1]: https://lunarmodules.github.io/Penlight/
-
I love that Lua can access file so simply using io.open, can Lua be used to delete, copy and paste folders?
https://github.com/lunarmodules/Penlight provides a bunch of functionality for stuff like that.
-
[discussion] Why don't more (any?) plugin authors use penlight?
However, there's already a widely known, well-tested library in the lua community called penlight that covers a lot of lua's "missing" functionality. It's got sane string manipulation, ergonomic tables, a basic class mechanism, functional programming, enums, exceptions, path manipulation, etc...
-
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).
-
Thoughts on LUA?
Lua is a small language and its "standard library" is very minimal. This was one of my initial roadblocks. 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, Penlight, or the aforementioned lume. 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).
-
Trying Fennel for GTK apps and it's surprisingly good
As for batteries, there's things like penlight which comes with a huge set of pure Lua libraries inspired by Python. And, well, there's Fennel libraries with macros and more lispy style APIs.
-
Lua's Lack of “Batteries”
I'm very surprised there was no mention of Penlight in that article. Penlight, a supplemental standard library for Lua that is heavily inspired by Python's own standard library, has been around for years now:
https://github.com/lunarmodules/Penlight
neotest
-
Am I this bad?
My first neovim plugin project was to write an adapter (runner) for neotest, for a language that I use regularly and which was missing from the existing adapters.
- Alternative for running tests
-
Problem with running code
There's overseer.nvim to run all sorts of things and neotest to run tests. In general, you can check awesome-neovim or TWiN to look for plugins.
-
JetBrains Leavers
Here's some things that may help: - https://github.com/mfussenegger/nvim-dap + dap ui - https://github.com/nvim-neotest/neotest
-
Setting up neovim for python code development (tips wanted)
I use neotest to run tests (with pytest).
-
Is anyone using VIM full-time for PHP/Laravel projects?
For testing I use https://github.com/nvim-neotest/neotest which gives a nice outline.
-
neotest-haskell version 0.6.0 released - now with support for both tasty and hspec
For those who don't know it, it's an adapter for neotest, a Neovim plugin that
-
Creating diagnostic entries from test output
You might look at how Neotest handles this, or even see if you can use/contribute to that project directly. It already has support for a fair number of languages at varying levels of maturity.
-
I got fired yesterday for using vim
I am writing Python these days, and LSP + DAP + neotest give me 90% of what PyCharm would have given me. I don't know how well this works with Java, the latter two did not exist when I was still writing Java. The way I did it was use Neovim with jdt-ls to write code and IntelliJ for debugging. Debugging does not require switching between keyboard and mouse, so it was OK to me.
-
[discussion] Why don't more (any?) plugin authors use penlight?
I'm sure that we could figure out a way to install rocks without luarocks, but it's still going to be an additional step with possible complications. Personally, I would rather just embed the library within my plugin like neotest does with xml2lua. The marginal cost of a slightly larger install is more than paid for by an easier install process and a guarantee that it works.
What are some alternatives?
luafun - Lua Fun is a high-performance functional programming library for Lua designed with LuaJIT's trace compiler in mind.
overseer.nvim - A task runner and job management plugin for Neovim
Vermintide-2-Source-Code - Decompiled scripts from Warhammer: Vermintide 2.
nvim-dap-ruby
luaforwindows - Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. NOTICE: Looking for maintainer.
nvim-coverage - Displays test coverage data in the sign column
lua-vips - Lua binding for the libvips image processing library
vim-ultest - The ultimate testing plugin for (Neo)Vim
luakit - Fast, small, webkit based browser framework extensible by Lua.
nvim - My custom NeoVim setup
sqlite.lua - SQLite LuaJIT binding with a very simple api.
refactoring.nvim - The Refactoring library based off the Refactoring book by Martin Fowler