zoukankan      html  css  js  c++  java
  • 在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
    本文版权归作者和博客园所有,欢迎转载,转载请标明出处。喜欢我的文章请 [关注我] 吧。
    如果您觉得本篇博文对您有所收获,可点击 [推荐] [收藏] ,或到右侧 [打赏] 里请我喝杯咖啡,非常感谢。
  • 相关阅读:
    多样三角形
    字符串转化去重
    捕获异常里面的特殊异常
    sqlalchemy.exc.CompileError: (in table 'language_label', column 'name'): VARCHAR requires a length o
    机器学习总结
    找出两个列表中相同元素与不同元素
    正则去重
    mysql5.7 安装重置密码
    chrome快捷键
    golang select
  • 原文地址:https://www.cnblogs.com/janbar/p/14611747.html
Copyright © 2011-2022 走看看