[discussion] Why don't more (any?) plugin authors use penlight?

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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.

  • 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...

  • luafun

    Lua Fun is a high-performance functional programming library for Lua designed with LuaJIT's trace compiler in mind.

  • Have you seen the code base of penlight? 1. TBH, I don't think it takes a good perf, it's a lot of overhead to package Lua into Python. In my dev plugin experience, I rarely deal with complicated data. vim.tbl_ is enough for me. 2. My personal choice, I prefer JavaScript style rather than Python. 3. I tend to use the libs like luafun with perf gain or Lua binding libs, but I don't have this need at present. 4. Can steal a small piece of code to keep away from dependency.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • neotest

    An extensible framework for interacting with tests within NeoVim.

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts