Merge pull request #2869 from fuweid/ctr_make_error_clear_in_edit_subcommand
ctr/content: make editor flag is required
This commit is contained in:
commit
4ccff37c7e
@ -290,6 +290,11 @@ var (
|
|||||||
Name: "validate",
|
Name: "validate",
|
||||||
Usage: "validate the result against a format (json, mediatype, etc.)",
|
Usage: "validate the result against a format (json, mediatype, etc.)",
|
||||||
},
|
},
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "editor",
|
||||||
|
Usage: "select editor (vim, emacs, etc.)",
|
||||||
|
EnvVar: "EDITOR",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Action: func(context *cli.Context) error {
|
Action: func(context *cli.Context) error {
|
||||||
var (
|
var (
|
||||||
@ -320,7 +325,7 @@ var (
|
|||||||
}
|
}
|
||||||
defer ra.Close()
|
defer ra.Close()
|
||||||
|
|
||||||
nrc, err := edit(content.NewReader(ra))
|
nrc, err := edit(context, content.NewReader(ra))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -505,7 +510,12 @@ var (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func edit(rd io.Reader) (io.ReadCloser, error) {
|
func edit(context *cli.Context, rd io.Reader) (io.ReadCloser, error) {
|
||||||
|
editor := context.String("editor")
|
||||||
|
if editor == "" {
|
||||||
|
return nil, fmt.Errorf("editor is required")
|
||||||
|
}
|
||||||
|
|
||||||
tmp, err := ioutil.TempFile(os.Getenv("XDG_RUNTIME_DIR"), "edit-")
|
tmp, err := ioutil.TempFile(os.Getenv("XDG_RUNTIME_DIR"), "edit-")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -516,7 +526,7 @@ func edit(rd io.Reader) (io.ReadCloser, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := exec.Command("sh", "-c", "$EDITOR "+tmp.Name())
|
cmd := exec.Command("sh", "-c", fmt.Sprintf("%s %s", editor, tmp.Name()))
|
||||||
|
|
||||||
cmd.Stdin = os.Stdin
|
cmd.Stdin = os.Stdin
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
|
Loading…
Reference in New Issue
Block a user