• 在cmder中添加命令提示功能,添加了goctl命令的提示


    经常用cmder会发现输入git后按tab键会自动提示git命令的子命令,非常的方便。
    最近我在用go-zero框架,但是每次敲goctl命令都需要翻一下笔记。
    因此我想让cmder支持goctl命令的自动提示功能,最终发现cmdervendorclink-completionsgit.lua就是实现git自动联想的脚本。
    因此我仿照着写了一份goctl的脚本,由于没有深入研究,写的都很粗浅,但是常用命令支持是没问题的。

    下面是脚本goctl.lua

    local parser = clink.arg.new_parser
    
    local style_parser = parser({
        "gozero","go_zero","GoZero"
    })
    local goctl_parser = parser(
        {
            "upgrade",
            "api" .. parser({
                "-o",
                "new",
                "format" .. parser({
                    "-dir",
                    "-iu",
                    "-stdin"
                }),
                "validate" .. parser({
                    "-api"
                }),
                "doc" .. parser({
                    "-dir"
                }),
                "go" .. parser({
                    "-dir",
                    "-api",
                    "-force",
                    "-style" .. style_parser
                }),
                "java" .. parser({
                    "-dir",
                    "-api"
                }),
                "ts" .. parser({
                    "-dir",
                    "-api",
                    "webapi",
                    "caller",
                    "unwrap"
                }),
                "dart" .. parser({
                    "-dir",
                    "-api"
                }),
                "kt" .. parser({
                    "-dir",
                    "-api",
                    "-pkg"
                }),
                "plugin" .. parser({
                    "-plugin",
                    "-dir",
                    "-api",
                    "-style" .. style_parser
                })
            }),
            "docker" .. parser({"-go","-port"}),
            "kube" .. parser({
                "deploy" .. parser({
                    "-name","-namespace","-image","-secret","-requestCpu","-requestMem","-limitCpu","-limitMem","-o",
                    "-replicas","-revisions","-port","-nodePort","-minReplicas","-maxReplicas"
                })
            }),
            "rpc" .. parser({
                "new" .. parser({"-idea","-style" .. style_parser}),
                "templae" .. parser({"-idea","-o"}),
                "proto" .. parser({"-src","-s","-proto_path","-l","-dir","-d","-idea","-style" .. style_parser})
            }),
            "model" .. parser({
                "mysql" .. parser({
                    "ddl" .. parser({"-src","-s","-dir","-d","-cache","-c","-idea","-style" .. style_parser}),
                    "datasource" .. parser({"-url","-table","-t","-dir","-d","-cache","-c","-idea","-style" .. style_parser})
                })
            }),
            "config" .. parser({"-p"}),
            "template" .. parser({
                "init",
                "clean",
                "update" .. parser({"-c"}),
                "revert" .. parser({"-c","-n"})
            }),
            "help",
            "h"
        },
        "--help",
        "-h",
        "--version",
        "-v"
    )
    
    clink.arg.register_parser("goctl", goctl_parser)
    

    最终放到cmdervendorclink-completionsgoctl.lua目录就可以了。

    作者:janbar
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处。喜欢我的文章请 [关注我] 吧。
    如果您觉得本篇博文对您有所收获,可点击 [推荐] [收藏] ,或到右侧 [打赏] 里请我喝杯咖啡,非常感谢。
  • 相关阅读:
    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world
    [大数据从入门到放弃系列教程]第一个spark分析程序
    Mac配置Scala和Spark最详细过程
    Mac配置Hadoop最详细过程
    [从零开始搭网站八]CentOS使用yum安装Redis的方法
    CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
    Mysql 删除重复数据只保留id最小的
    bootstrap媒体查询常用写法
    Arduino Uno 在win7 64位下的驱动问题
    VS项目模板文件位置
  • 原文地址:https://www.cnblogs.com/janbar/p/14611747.html
Copyright © 2020-2023  润新知