Commit 8cb0df74 by Iwasaki Yudai

Show better help message

1 parent 6de9b051
Showing with 29 additions and 10 deletions
...@@ -20,9 +20,8 @@ go get github.com/yudai/gotty ...@@ -20,9 +20,8 @@ go get github.com/yudai/gotty
# Usage # Usage
```
```sh Usage: gotty [options] <command> [<arguments...>]
Usage: gotty COMMAND_NAME [COMMAND_ARGUMENTS...]
``` ```
Run `gotty` with your prefered command as its arguments (e.g. `gotty top`). Run `gotty` with your prefered command as its arguments (e.g. `gotty top`).
...@@ -32,9 +31,9 @@ By default, gotty starts a web server at port 8080. Open the URL on your web bro ...@@ -32,9 +31,9 @@ By default, gotty starts a web server at port 8080. Open the URL on your web bro
## Options ## Options
``` ```
--addr, -a IP address to listen at --addr, -a IP address to listen [$GOTTY_ADDR]
--port, -p "8080" Port number to listen at --port, -p "8080" Port number to listen [$GOTTY_PORT]
--permit-write, -w Permit write from client (BE CAREFUL) --permit-write, -w Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE]
``` ```
By default, gotty doesn't allow clients to send any keystrokes or commands except terminal window resizing. When you want to permmit clients to write input to the PTY, add the `-w` option. However, accepting input from remote clients is dangerous for most commands. Make sure that only trusted clients can connect to your gotty server when activate this option. If you need interaction with the PTY, consider starting gotty with tmux or GNU Screen and run your main command on it. By default, gotty doesn't allow clients to send any keystrokes or commands except terminal window resizing. When you want to permmit clients to write input to the PTY, add the `-w` option. However, accepting input from remote clients is dangerous for most commands. Make sure that only trusted clients can connect to your gotty server when activate this option. If you need interaction with the PTY, consider starting gotty with tmux or GNU Screen and run your main command on it.
......
...@@ -18,24 +18,24 @@ func main() { ...@@ -18,24 +18,24 @@ func main() {
cli.StringFlag{ cli.StringFlag{
Name: "addr, a", Name: "addr, a",
Value: "", Value: "",
Usage: "IP address to listen at", Usage: "IP address to listen",
EnvVar: "GOTTY_ADDR", EnvVar: "GOTTY_ADDR",
}, },
cli.StringFlag{ cli.StringFlag{
Name: "port, p", Name: "port, p",
Value: "8080", Value: "8080",
Usage: "Port number to listen at", Usage: "Port number to listen",
EnvVar: "GOTTY_PORT", EnvVar: "GOTTY_PORT",
}, },
cli.BoolFlag{ cli.BoolFlag{
Name: "permit-write, w", Name: "permit-write, w",
Usage: "Permit write from client (BE CAREFUL)", Usage: "Permit clients to write to the TTY (BE CAREFUL)",
EnvVar: "GOTTY_PERMIT_WRITE", EnvVar: "GOTTY_PERMIT_WRITE",
}, },
} }
cmd.Action = func(c *cli.Context) { cmd.Action = func(c *cli.Context) {
if len(c.Args()) == 0 { if len(c.Args()) == 0 {
fmt.Println("No command given.\n") fmt.Println("Error: No command given.\n")
cli.ShowAppHelp(c) cli.ShowAppHelp(c)
os.Exit(1) os.Exit(1)
} }
...@@ -46,5 +46,25 @@ func main() { ...@@ -46,5 +46,25 @@ func main() {
os.Exit(2) os.Exit(2)
} }
} }
cmd.HideHelp = true
cli.AppHelpTemplate = `NAME:
{{.Name}} - {{.Usage}}
USAGE:
{{.Name}} [options] <command> [<arguments...>]
VERSION:
{{.Version}}{{if or .Author .Email}}
AUTHOR:{{if .Author}}
{{.Author}}{{if .Email}} - <{{.Email}}>{{end}}{{else}}
{{.Email}}{{end}}{{end}}
OPTIONS:
{{range .Flags}}{{.}}
{{end}}
`
cmd.Run(os.Args) cmd.Run(os.Args)
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!