Comments (3)
Thanks, and sorry for the delay. Let me check and I will get back to you.
from argparse.
Full code to reproduce:
package main
import (
"fmt"
"github.com/akamensky/argparse"
"os"
)
func main() {
parser := argparse.NewParser("...", "...")
_ = parser.FlagCounter("v", "verbose", &argparse.Options{})
_ = parser.StringList("", "host", &argparse.Options{Required: true})
_ = parser.String("u", "user", &argparse.Options{Required: true})
_ = parser.String("p", "password", &argparse.Options{Required: true})
// preset cmd
presetCmd := parser.NewCommand("preset", "Get and modify radio presets")
// get preset cmd
_ = presetCmd.NewCommand("get", "Get the current radio preset")
// set preset cmd
setPresetCmd := presetCmd.NewCommand("set", "Set the current radio preset")
_ = setPresetCmd.Int("", "id", &argparse.Options{Required: true})
// user cmd
userCmd := parser.NewCommand("user", "User")
_ = userCmd.NewCommand("get", "Get all users")
err := parser.Parse(os.Args)
if err != nil {
fmt.Println(parser.Usage(err))
return
}
}
Test cases:
$ go run main.go --host host # Fail, should report that sub command is required, but reports that `user` is required
$ go run main.go --host host -u user # Fail, should report that sub command is required, but reports that `password` is required
from argparse.
Fixed in #104
@mprahlkamps please let me know if the issue still happens in another form, but this should have fixed it (I think).
from argparse.
Related Issues (20)
- How do I make a hidden argument? HOT 1
- enable required for positionals HOT 5
- SelectorList flag HOT 2
- Golang Argparse not picking correct value for multiple flags HOT 1
- Allow parser.ParseKnownArgs(...) HOT 2
- How do you get >=0 positionals? HOT 2
- [BUG] v1.4.0 args does not happened when subcommand exists
- Positional args HOT 2
- Creating commands in a type HOT 1
- Add compatibility with complete library [ bash completions ] HOT 1
- Auto complete subcommands HOT 1
- [bug] Unable to detect if file flag was actually provided? HOT 7
- subparser not implemented HOT 1
- Provide ability to configure helptext maxWidth columns HOT 9
- Getting: import cycle not allowed using the example. HOT 1
- Provide <META> fields and Author Information in usage string HOT 2
- Question about returned parameters (not a bug report) HOT 1
- FlagCounter display unexpectedly HOT 1
- expect File arg to take standard input / output stream as a value HOT 2
- Options.Default should be ignored for Flag HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argparse.