Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Clink lua api?_Lua_Autocomplete - Fatal编程技术网

如何使用Clink lua api?

如何使用Clink lua api?,lua,autocomplete,Lua,Autocomplete,据我所知,Clink()没有提供任何关于如何使用它提到的luaapi的文档 我在安装目录中查看了clink.lua文件的内容,我可以大致了解它的工作原理,但我想知道如何编写自己的lua文件来添加新的参数自动完成(我不想直接编辑clink.lua,以免破坏现有功能),并让clink检测和使用我的文件 过去有谁有幸玩过这个吗?我相信 我找到的最全面的手册是git,但不是master。它写得很好,涵盖了很多内容 小结: 文件位置 在clink v0.4.6中,安装有一个profile/目录。在将lua

据我所知,Clink()没有提供任何关于如何使用它提到的luaapi的文档

我在安装目录中查看了clink.lua文件的内容,我可以大致了解它的工作原理,但我想知道如何编写自己的lua文件来添加新的参数自动完成(我不想直接编辑clink.lua,以免破坏现有功能),并让clink检测和使用我的文件

过去有谁有幸玩过这个吗?

我相信

我找到的最全面的手册是git,但不是master。它写得很好,涵盖了很多内容

小结:

文件位置

在clink v0.4.6中,安装有一个
profile/
目录。在将lua完成文件放入该目录后,在启动新进程或使用Ctl-Q刷新时,将拾取这些文件

本文档介绍了
c:\Documents and Settings\\Local Settings\Application Data
(适用于XP)和
c:\Users\\AppData\Local
(Vista以后)。我用clink-1.0.0a1.823d84试过了,但还没能成功

语法

下面是一个用于命令foobar的简单解析器示例

my_parser=clink.arg.new_parser()
my_解析器:设置_标志(“-foo”,“-bar”)
my_解析器:设置_参数(
{“你好”,“你好”},--第一位
{“世界”,“妇女”}——第二位
)
clink.arg.register\u解析器(“foobar”,my\u解析器)
在第一个位置(在
foobar
之后),clink将建议
hello
hi
。 之后,在第二个位置(在
foobar hello
foobar hi
之后),clink将建议
world
wombles
。 这些标志与位置无关

除了调用
set_标志
set_参数
,您还可以使用以下简洁语法:

some_parser=clink.arg.new_parser(
{“arg1-1”、“arg1-2”},
{“arg2-1”、“arg2-2”},
-flag1“,-flag2”
)
高级语法

解析器可以嵌套,这对于接受有限数量有效值的标志非常有用

Clink允许您使用Lua的
连接运算符链接解析器。例如:

localparser=clink.arg.new\u解析器
本地my_parser=解析器(
“-s”。.parser({“ruby”、“webpi”、“cygwin”、“windowsfeatures”、“python”}),
“--source”。.parser({“ruby”、“webpi”、“cygwin”、“windowsfeatures”、“python”}),
“--版本”,
clink.arg.register\u解析器(“mycommand”,my\u解析器)
这也可用于实现“命令套件”(带有子命令的命令)的完成。例如:

localparser=clink.arg.new\u解析器
本地git_解析器=解析器(
{
“add”。.parser({},--empty{}:不要建议任何位置参数
“-n”、“--试运行”,
“-v”、“--verbose”,
“-f”、“--force”,
“-i”、“-交互”,
“-A”、“--all”,
“--刷新”
),
“提交”…解析器(
“-a”、“--all”,
“-m”,“--message=”,
“-e”、“--edit”,
“--修正”,
“-u”、“--untracked files”、“--untracked files=”、-->parser({“no”、“normal”、“all”}),
“-v”、“--verbose”,
“-q”、“-安静”,
"--"
),
“远程”。语法分析器({
“添加…”语法分析器(
“-t”。.parser({branchs}),--在别处定义
“-m”,
“-f”,
“--镜像”,
--tags“,--no tags”
),
“重命名”。.parser({remotes}),
“删除”。.parser({remotes}),
“rm”。.parser({remotes}),
“set head.”解析器({remotes},{branchs},
“-a”、“--auto”,
-d“,--delete”
),
“set branchs”。.parser(“--add”,{remotes},{branchs}),
“设置url”。语法分析器(
--add..parser(“--push”,{remotes}),
“--delete”。.parser(“--push”,{remotes})
),
“获取url”。.parser({remotes},”--push“,“--all”),
“show”。.parser(“-n”,{remotes}),
“prune”。.parser(“-n”,“--dry run”,{remotes}),
“更新”。.parser({remotes},”-p“,“-prune”)
},“-v”,“--verbose”),
},
“--版本”,
“--帮助”,
“-c”,
“--git dir”,
)
clink.arg.register\u解析器(“git”,git\u解析器)
这是Vladimir Kotikov的完成脚本的缩写版本。完整的源代码见原文

预建斜坡完工


Vladimir Kotikov为许多常用命令创建了一个非常好的集合。他还创建了我前面提到的隐藏叮当手册。别忘了让他的GitHub项目成为一个明星!:-)

上有一个正在更新的fork,请参阅其文档