diff --git a/README.md b/README.md index 33ee060..24ab55a 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,8 @@ go get github.com/yudai/gotty # Usage - -```sh -Usage: gotty COMMAND_NAME [COMMAND_ARGUMENTS...] +``` +Usage: gotty [options] [] ``` 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 ## Options ``` ---addr, -a IP address to listen at ---port, -p "8080" Port number to listen at ---permit-write, -w Permit write from client (BE CAREFUL) +--addr, -a IP address to listen [$GOTTY_ADDR] +--port, -p "8080" Port number to listen [$GOTTY_PORT] +--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. diff --git a/main.go b/main.go index 08dae88..f689c36 100644 --- a/main.go +++ b/main.go @@ -18,24 +18,24 @@ func main() { cli.StringFlag{ Name: "addr, a", Value: "", - Usage: "IP address to listen at", + Usage: "IP address to listen", EnvVar: "GOTTY_ADDR", }, cli.StringFlag{ Name: "port, p", Value: "8080", - Usage: "Port number to listen at", + Usage: "Port number to listen", EnvVar: "GOTTY_PORT", }, cli.BoolFlag{ 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", }, } cmd.Action = func(c *cli.Context) { if len(c.Args()) == 0 { - fmt.Println("No command given.\n") + fmt.Println("Error: No command given.\n") cli.ShowAppHelp(c) os.Exit(1) } @@ -46,5 +46,25 @@ func main() { os.Exit(2) } } + + cmd.HideHelp = true + cli.AppHelpTemplate = `NAME: + {{.Name}} - {{.Usage}} + +USAGE: + {{.Name}} [options] [] + +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) }