13 个版本 (7 个破坏性更新)
0.11.0 | 2022年12月30日 |
---|---|
0.10.0 | 2022年11月18日 |
0.9.0 | 2022年10月28日 |
0.5.0 | 2022年7月8日 |
1122 在 解析实现 中
每月67次下载
63KB
1.5K SLoC
🤝 lemmy-help
每个人都需要帮助,所以 lemmy-help 你
什么?
lemmy-help
是一个 emmylua 解析器,同时也是命令行工具,可以将解析后的树转换为 vim 帮助文档。
安装
- 使用
cargo
cargo install lemmy-help --features=cli
- Arch Linux
# Using yay
yay -S lemmy-help
# Using paru
paru -S lemmy-help
- 使用发行版
查看不同操作系统的预构建二进制文件的 发行版页面。
Emmylua
为了正确生成文档,你应该遵循 emmylua 规范。解析器能够解析大多数(而不是所有)的 emmylua 语法。你可以阅读以下文档,了解如何正确编写 emmylua 注释。
用法
使用 CLI 很简单,只需提供 lua 文件的路径;它将解析它们并将帮助文档打印到 stdout
lemmy-help /path/to/{first,second,third}.lua > doc/PLUGIN_NAME.txt
Cli
lemmy-help
USAGE:
lemmy-help [FLAGS] [OPTIONS] <FILES>...
ARGS:
<FILES>... Path to lua files
FLAGS:
-h, --help Print help information
-v, --version Print version information
-M, --no-modeline Don't print modeline at the end
-f, --prefix-func Prefix function name with ---@mod name
-a, --prefix-alias Prefix ---@alias tag with return/---@mod name
-c, --prefix-class Prefix ---@class tag with return/---@mod name
-t, --prefix-type Prefix ---@type tag with ---@mod name
--expand-opt Expand '?' (optional) to 'nil' type
OPTIONS:
-i, --indent <u8> Controls the indent width [default: 4]
-l, --layout <layout> Vimdoc text layout [default: 'default']
- "default" : Default layout
- "compact[:n=0]" : Aligns [desc] with <type>
and uses {n}, if provided, to indent the
following new lines. This option only
affects ---@field and ---@param tags
- "mini[:n=0]" : Aligns [desc] from the start
and uses {n}, if provided, to indent the
following new lines. This option affects
---@field, ---@param and ---@return tags
USAGE:
lemmy-help /path/to/first.lua /path/to/second.lua > doc/PLUGIN_NAME.txt
lemmy-help -c -a /path/to/{first,second,third}.lua > doc/PLUGIN_NAME.txt
lemmy-help --layout compact:2 /path/to/plugin.lua > doc/PLUGIN_NAME.txt
NOTES:
- The order of parsing + rendering is relative to the given files
CI
name: lemmy-help
on: [push]
env:
PLUGIN_NAME: plugin-name
jobs:
docs:
runs-on: ubuntu-latest
name: emmylua to vimdoc
steps:
- uses: actions/checkout@v2
- name: Generating help
run: |
curl -Lq https://github.com/numToStr/lemmy-help/releases/latest/download/lemmy-help-x86_64-unknown-linux-gnu.tar.gz | tar xz
./lemmy-help [args] <path> > doc/${{env.PLUGIN_NAME}}.txt
- name: Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
branch: ${{ github.head_ref }}
commit_message: "chore(docs): auto-generate vimdoc"
file_pattern: doc/*.txt
致谢
依赖关系
~0.5–0.8MB
~16K SLoC