mirror of
https://github.com/cbednarski/hostess
synced 2024-11-11 19:10:37 +00:00
Migrate usage / help to CLI framework
This commit is contained in:
parent
847ed06b43
commit
a7406bc7ac
82
cmd/main.go
82
cmd/main.go
@ -14,41 +14,19 @@ func getArgs() []string {
|
||||
return os.Args[2:]
|
||||
}
|
||||
|
||||
const help = `Hostess: an idempotent tool for managing /etc/hosts
|
||||
const help = `an idempotent tool for managing /etc/hosts
|
||||
|
||||
Commands will exit 0 or 1 in a sensible way so you can use the exit code for
|
||||
bash and make scripting. Add -h to any command to learn more about it.
|
||||
* Commands will exit 0 or 1 in a sensible way so you can use the exit code for
|
||||
bash and make scripting. Add -h to any command to learn more about it.
|
||||
|
||||
To preview a hostess-managed hostsfile run ` + "`" + `hostess fix -n` + "`" + `
|
||||
* To preview a hostess-managed hostsfile run ` + "`" + `hostess fix -n` + "`" + `
|
||||
|
||||
WARNING: This program is BETA and not all commands are implemented.
|
||||
* You can specify the HOSTESS_FILE environment variable to operate on a
|
||||
file other than /etc/hosts
|
||||
|
||||
Commands:
|
||||
* WARNING: This program is BETA and not all commands are implemented.
|
||||
|
||||
add Add (or update) a hosts entry
|
||||
del Delete a hosts entry
|
||||
has Exit 0 if entry exists, 1 if not
|
||||
off Disable a hosts entry (don't delete it)
|
||||
on Enable a hosts entry (if if exists)
|
||||
ls List entries in the hosts file
|
||||
list Alias for ls
|
||||
fix Reformat the hosts file based on hostess' rules
|
||||
dump Dump the hosts file as JSON
|
||||
apply Apply a JSON hosts dict to your hosts file
|
||||
|
||||
Options:
|
||||
|
||||
-f Force write to the hostsfile even if there are errors or conflicts
|
||||
-n No-op. Show changes but don't write them.
|
||||
-q Supress error messages
|
||||
-s Supress success messages (implies -q)
|
||||
-h Show help for a command
|
||||
|
||||
Note: You can specify the HOSTESS_FILE environment variable to operate on a
|
||||
file other than /etc/hosts
|
||||
|
||||
Report bugs at https://github.com/cbednarski/hostess
|
||||
`
|
||||
* Report bugs at https://github.com/cbednarski/hostess`
|
||||
|
||||
func main() {
|
||||
app := cli.NewApp()
|
||||
@ -59,74 +37,74 @@ func main() {
|
||||
app.Flags = []cli.Flag{
|
||||
cli.BoolFlag{
|
||||
Name: "f",
|
||||
Usage: "Force",
|
||||
Usage: "Force write to the hostsfile even if there are errors or conflicts",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "n",
|
||||
Usage: "Noop",
|
||||
Usage: "No-op. Show changes but don't write them.",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "q",
|
||||
Usage: "Quiet",
|
||||
Usage: "Quiet. Supress error messages",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "s",
|
||||
Usage: "Silent",
|
||||
Usage: "Silent. Supress success messages (implies -q)",
|
||||
},
|
||||
}
|
||||
|
||||
app.Commands = []cli.Command{
|
||||
{
|
||||
Name: "add",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "add",
|
||||
Usage: "Add (or update) a hosts entry",
|
||||
Action: hostess.Add,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "del",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "del",
|
||||
Usage: "Delete a hosts entry",
|
||||
Action: hostess.Del,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "has",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "has",
|
||||
Usage: "Exit 0 if entry exists, 1 if not",
|
||||
Action: hostess.Has,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "off",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "off",
|
||||
Usage: "Disable a hosts entry (don't delete it)",
|
||||
Action: hostess.Off,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "on",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "on",
|
||||
Usage: "Enable a hosts entry (if if exists)",
|
||||
Action: hostess.On,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "ls",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "ls, list",
|
||||
Usage: "List entries in the hosts file",
|
||||
Action: hostess.Ls,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "fix",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "fix",
|
||||
Usage: "Reformat the hosts file based on hostess' rules",
|
||||
Action: hostess.Fix,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "dump",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "dump",
|
||||
Usage: "Dump the hosts file as JSON",
|
||||
Action: hostess.Dump,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
{
|
||||
Name: "apply",
|
||||
// Usage: "add a task to the list",
|
||||
Name: "apply",
|
||||
Usage: "Apply a JSON hosts dict to your hosts file",
|
||||
Action: hostess.Apply,
|
||||
Flags: app.Flags,
|
||||
},
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
|
||||
// MaybeErrorln will print an error message unless -q is passed
|
||||
func MaybeErrorln(c *cli.Context, message string) {
|
||||
if !c.Bool("q") {
|
||||
if !c.Bool("q") && !c.Bool("s") {
|
||||
os.Stderr.WriteString(fmt.Sprintf("%s: %s\n", c.Command.Name, message))
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user