Split examples and fix tree
Signed-off-by: jolheiser <john.olheiser@gmail.com>main v0.0.1
parent
34293148d7
commit
2b03d73292
@ -0,0 +1,8 @@
|
||||
# Examples
|
||||
|
||||
Each directory contains a sample flagset/command setup and the resulting
|
||||
generated docs.
|
||||
|
||||
- [flagset](flagset) - Using only stdlib `flag.FlagSet`
|
||||
- [single](single) - Using a single `ffcli.Command`
|
||||
- [multiple](multiple) - Using `ffcli.Command` with multiple sub-commands
|
@ -1,55 +0,0 @@
|
||||
# myapp
|
||||
|
||||
myapp
|
||||
|
||||
```
|
||||
myapp
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
[--help]
|
||||
[--myapp-bool-flag-f]
|
||||
[--myapp-bool-flag-t]
|
||||
[--myapp-duration-flag]=[value]
|
||||
[--myapp-duration-flag-default]=[value]
|
||||
[--myapp-int-flag]=[value]
|
||||
[--myapp-int-flag-default]=[value]
|
||||
[--myapp-string-flag]=[value]
|
||||
[--myapp-string-flag-default]=[value]
|
||||
```
|
||||
**Usage**:
|
||||
|
||||
```
|
||||
myapp [FLAGS] [ARGS...]
|
||||
```
|
||||
|
||||
**--help**: Show help
|
||||
|
||||
|
||||
**--myapp-bool-flag-f**: Bool flag false
|
||||
|
||||
|
||||
**--myapp-bool-flag-t**: Bool flag true (default: `true`)
|
||||
|
||||
|
||||
**--myapp-duration-flag**="": Duration flag with no default
|
||||
|
||||
|
||||
**--myapp-duration-flag-default**="": Duration flag with default (default: `5m0s`)
|
||||
|
||||
|
||||
**--myapp-int-flag**="": Int flag with no default
|
||||
|
||||
|
||||
**--myapp-int-flag-default**="": Int flag with default (default: `100`)
|
||||
|
||||
|
||||
**--myapp-string-flag**="": String flag with no default
|
||||
|
||||
|
||||
**--myapp-string-flag-default**="": String flag with default (default: `string default`)
|
||||
|
||||
|
||||
-----
|
||||
|
@ -0,0 +1,44 @@
|
||||
//go:build generate
|
||||
// +build generate
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"go.jolheiser.com/ffmd"
|
||||
)
|
||||
|
||||
//go:generate go run main.go
|
||||
func main() {
|
||||
fs := flag.NewFlagSet("myapp", flag.ExitOnError)
|
||||
fs.String("string-flag", "", "String flag with no default")
|
||||
fs.String("string-flag-default", "string default", "String flag with default")
|
||||
fs.Int("int-flag", 0, "Int flag with no default")
|
||||
fs.Int("int-flag-default", 100, "Int flag with default")
|
||||
fs.Bool("bool-flag-f", false, "Bool flag false")
|
||||
fs.Bool("bool-flag-t", true, "Bool flag true")
|
||||
fs.Duration("duration-flag", 0, "Duration flag with no default")
|
||||
fs.Duration("duration-flag-default", time.Minute*5, "Duration flag with default")
|
||||
|
||||
md, err := ffmd.FromFlagSet(fs)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
write("flagset.md", md)
|
||||
}
|
||||
|
||||
func write(path, content string) {
|
||||
fi, err := os.Create(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer fi.Close()
|
||||
if _, err := fi.WriteString(content); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,50 @@
|
||||
//go:build generate
|
||||
// +build generate
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/peterbourgon/ff/v3/ffcli"
|
||||
|
||||
"go.jolheiser.com/ffmd"
|
||||
)
|
||||
|
||||
//go:generate go run main.go
|
||||
func main() {
|
||||
fs := flag.NewFlagSet("myapp", flag.ExitOnError)
|
||||
fs.String("string-flag", "", "String flag with no default")
|
||||
fs.String("string-flag-default", "string default", "String flag with default")
|
||||
fs.Int("int-flag", 0, "Int flag with no default")
|
||||
fs.Int("int-flag-default", 100, "Int flag with default")
|
||||
fs.Bool("bool-flag-f", false, "Bool flag false")
|
||||
fs.Bool("bool-flag-t", true, "Bool flag true")
|
||||
fs.Duration("duration-flag", 0, "Duration flag with no default")
|
||||
fs.Duration("duration-flag-default", time.Minute*5, "Duration flag with default")
|
||||
|
||||
cmd := &ffcli.Command{
|
||||
Name: "myapp",
|
||||
FlagSet: fs,
|
||||
Subcommands: nil,
|
||||
}
|
||||
|
||||
md, err := ffmd.FromCommand(cmd)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
write("single.md", md)
|
||||
}
|
||||
|
||||
func write(path, content string) {
|
||||
fi, err := os.Create(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer fi.Close()
|
||||
if _, err := fi.WriteString(content); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
# myapp
|
||||
|
||||
myapp
|
||||
|
||||
```
|
||||
myapp
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
[--bool-flag-f]
|
||||
[--bool-flag-t]
|
||||
[--duration-flag]=[value]
|
||||
[--duration-flag-default]=[value]
|
||||
[--help]
|
||||
[--int-flag]=[value]
|
||||
[--int-flag-default]=[value]
|
||||
[--string-flag]=[value]
|
||||
[--string-flag-default]=[value]
|
||||
```
|
||||
**Usage**:
|
||||
|
||||
```
|
||||
myapp [FLAGS] [ARGS...]
|
||||
```
|
||||
|
||||
**--bool-flag-f**: Bool flag false
|
||||
|
||||
|
||||
**--bool-flag-t**: Bool flag true (default: `true`)
|
||||
|
||||
|
||||
**--duration-flag**="": Duration flag with no default
|
||||
|
||||
|
||||
**--duration-flag-default**="": Duration flag with default (default: `5m0s`)
|
||||
|
||||
|
||||
**--help**: Show help
|
||||
|
||||
|
||||
**--int-flag**="": Int flag with no default
|
||||
|
||||
|
||||
**--int-flag-default**="": Int flag with default (default: `100`)
|
||||
|
||||
|
||||
**--string-flag**="": String flag with no default
|
||||
|
||||
|
||||
**--string-flag-default**="": String flag with default (default: `string default`)
|
||||
|
||||
|
||||
-----
|
||||
|
@ -1 +0,0 @@
|
||||
package ffmd
|
Loading…
Reference in New Issue