#shell #lua #lotus #scripting-language #parser

bin+lib lotus-lua

Lua方言,专为Lotus shell脚本编写

23个版本 (8个破坏性更新)

0.10.16 2024年2月9日
0.10.2 2024年1月31日
0.8.0 2023年12月20日

221编程语言 中排名

Download history 47/week @ 2024-03-27 93/week @ 2024-04-03

每月221次下载

MIT 许可证

70KB
1.5K SLoC

Rust 1K SLoC // 0.0% comments Lua 164 SLoC Pest 86 SLoC // 0.1% comments

Lotus Lua

Lotus Lua 是专为Lotus shell编写的Lua方言;Lotus lua旨在尽可能接近原始Lua,同时为Lua的shell脚本添加各种改进。

关于Luau呢?

Luau是另一种Lua方言,类似于Lotus。一个常见的问题是“为什么有Luau还要制作Lotus?”。虽然Luau有几个很好的功能和与Lotus的几个重叠点,但还有一些Lotus的特性,如管道操作符和标识符中的美元符号,我们认为这对于语言在shell脚本中有效是必不可少的。

特性 & 路线图

Lotus计划为Lua添加以下扩展

  • 允许在标识符中使用美元符号
  • 管道操作符(|>
  • 模板字符串字面量
  • 复合赋值
  • 三元条件语句
  • 可迭代表
  • 可选类型注解
  • 递增和递减操作符

特性请求

如果您想为Lotus请求新的特性/语法,请牢记以下要点

  • Lotus旨在成为Lua的超集。换句话说,所有有效的Lua都必须是有效的Lotus。我们希望现有的Lua脚本能够在Lotus shell中轻松运行。请不要请求会破坏现有Lua代码的新语法。
  • Lotus旨在简单。选择Lua作为此项目的其中一个主要原因是它是一种极其简单的语言。请不要请求会显著增加语言复杂性的新语法,而收益却很小。
  • Lotus旨在用于shell脚本。与shell脚本和使shell脚本更容易有关的功能比一次性的小优点更有可能被认真考虑。如果是一个与shell脚本无关的新特性,例如可迭代表或三元条件语句,那么它应该是一个非常常见的用例,而不是一个很少有用的利基特性。

依赖项

~7–9MB
~164K SLoC