Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

existingdir with default validated and stops program run on unused-subcommand #335

Open
deweysasser opened this issue Oct 3, 2022 · 0 comments

Comments

@deweysasser
Copy link

Summary

If you have multiple subcommands, which have constrained arguments (e.g. existingdir with default
values) those constraints must pass even if the subcommand is not invoked.

I would expect uninvoked subcommands to NOT interrupt program run.

Kong Code

type Options struct {
	Cmd1         Subcommand1 `cmd:""`
	Cmd2         Subcommand2 `cmd:""`
}

type Subcommand1 struct {
	Dir1 string `group:"dir" help:"get a directory" type:"existingdir" default:"dir1"`
}

type Subcommand2 struct {
	Dir2 string `group:"dir" help:"get a directory" type:"existingdir" default:"dir2"`
}

Output

$ mkdir -p dir1 &&  go run main.go cmd-1 --dir-1 dir1
--dir-2: stat /Users/dsasser/personal/kong-bug-demo/dir2: no such file or directory
exit status 1

Expected Output

The expectation is that the program would run, as the constraints on the operable subcommand have been satisfied.

Note that if the default value is left off the parameters in the subcommands, the program runs as expected.

Running example

A running example of this problem can be found here

Notes

This may be related to #190

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant