2个版本 (1个稳定版)
新 1.0.0 | 2024年8月22日 |
---|---|
0.13.0 | 2024年8月22日 |
#465 in 解析实现
64KB
1.5K SLoC
🐈 vimCATS 📖
A CLI用于从LuaCATS生成vimdoc。由lemmy-help派生。
[!警告]
这个分支是早期的WIP。它尚未完全迁移。
什么?
vimcats
是一个LuaCATS解析器,也是一个CLI,它将解析树转换为vim帮助文档。
安装
LuaCATS
要正确生成文档,您应遵循luaCATS规范。该解析器可以解析大多数(不是所有)的LuaCATS语法。您可以阅读以下文档,了解如何正确编写LuaCATS注释。
用法
使用CLI很简单,只需提供lua文件的路径;它将解析它们并将帮助文档打印到stdout
。
vimcats /path/to/{first,second,third}.lua > doc/PLUGIN_NAME.txt
CLI
vimcats
USAGE:
vimcats [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:
vimcats /path/to/first.lua /path/to/second.lua > doc/PLUGIN_NAME.txt
vimcats -c -a /path/to/{first,second,third}.lua > doc/PLUGIN_NAME.txt
vimcats --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: vimcats
on: [push]
env:
PLUGIN_NAME: plugin-name
jobs:
docs:
runs-on: ubuntu-latest
name: luaCATS to vimdoc
steps:
- uses: actions/checkout@v2
- name: Generating help
run: |
# TODO
- 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
致谢
- lemmy-help
- TJ的docgen模块
- mini.doc来自
mini.nvim
插件
许可
本项目根据GPL版本2或(根据您的选择)任何较新版本进行授权。
lemmy-help(本项目从中派生)根据MIT授权。
依赖关系
~2.5MB
~36K SLoC