diff --git a/cli/parse.go b/cli/parse.go index 14823a63a2bc91c9d7481bb5b24cbc1518dd14a3..499f99bfefd62b9937adbde9d7e1fab3144f95a6 100644 --- a/cli/parse.go +++ b/cli/parse.go @@ -70,7 +70,7 @@ func Parse(ctx context.Context, input []string, stdin *os.File, root *cmds.Comma } func isHidden(req *cmds.Request) bool { - h, ok := req.Options["hidden"].(bool) + h, ok := req.Options[cmds.Hidden].(bool) return h && ok } @@ -79,6 +79,11 @@ func isRecursive(req *cmds.Request) bool { return rec && ok } +func stdinName(req *cmds.Request) string { + name, _ := req.Options[cmds.StdinName].(string) + return name +} + type parseState struct { cmdline []string i int @@ -265,7 +270,7 @@ func parseArgs(req *cmds.Request, root *cmds.Command, stdin *os.File) error { return err } - fpath = "" + fpath = stdinName(req) file, err = files.NewReaderPathFile(stdin.Name(), r, nil) if err != nil { return err @@ -308,7 +313,7 @@ func parseArgs(req *cmds.Request, root *cmds.Command, stdin *os.File) error { return err } - fileArgs[""], err = files.NewReaderPathFile(stdin.Name(), r, nil) + fileArgs[stdinName(req)], err = files.NewReaderPathFile(stdin.Name(), r, nil) if err != nil { return err } diff --git a/opts.go b/opts.go index 0dda19ba3ae3d83b3144130f2bd53ebd88f528ea..19691b48d8e32daf434890d35ac86b9f11873ba9 100644 --- a/opts.go +++ b/opts.go @@ -15,6 +15,9 @@ const ( OptShortHelp = "h" OptLongHelp = "help" DerefLong = "dereference-args" + StdinName = "stdin-name" + Hidden = "hidden" + HiddenShort = "H" ) // options that are used by this package @@ -23,3 +26,5 @@ var OptionRecursivePath = cmdkit.BoolOption(RecLong, RecShort, "Add directory pa var OptionStreamChannels = cmdkit.BoolOption(ChanOpt, "Stream channel output") var OptionTimeout = cmdkit.StringOption(TimeoutOpt, "Set a global timeout on the command") var OptionDerefArgs = cmdkit.BoolOption(DerefLong, "Symlinks supplied in arguments are dereferenced") +var OptionStdinName = cmdkit.StringOption(StdinName, "Assign a name if the file source is stdin.") +var OptionHidden = cmdkit.BoolOption(Hidden, HiddenShort, "Include files that are hidden. Only takes effect on recursive add.")