feature plugin custom flag (#251)

* support plugin custom flags

* add short name

* remove log

* remove log
This commit is contained in:
songmeizi
2020-12-09 18:08:17 +08:00
committed by GitHub
parent 67804a6bb2
commit 84ab11ac09
4 changed files with 50 additions and 4 deletions

View File

@@ -46,17 +46,20 @@ func PluginCommand(c *cli.Context) error {
return err
}
bin, download, err := getCommand(plugin)
bin, args := getPluginAndArgs(plugin)
bin, download, err := getCommand(bin)
if err != nil {
return err
}
if download {
defer func() {
_ = os.Remove(bin)
}()
}
content, err := execx.Run(bin, filepath.Dir(ex), bytes.NewBuffer(transferData))
content, err := execx.Run(bin+" "+args, filepath.Dir(ex), bytes.NewBuffer(transferData))
if err != nil {
return err
}
@@ -164,3 +167,18 @@ func NewPlugin() (*Plugin, error) {
}
return &plugin, nil
}
func getPluginAndArgs(arg string) (string, string) {
i := strings.Index(arg, "=")
if i <= 0 {
return arg, ""
}
return trimQuote(arg[:i]), trimQuote(arg[i+1:])
}
func trimQuote(in string) string {
in = strings.Trim(in, `"`)
in = strings.Trim(in, `'`)
in = strings.Trim(in, "`")
return in
}