mirror of
https://github.com/mumble-voip/grumble.git
synced 2025-12-19 21:59:59 -08:00
Improved help message.
This commit is contained in:
parent
fee67fa856
commit
96d725691a
2 changed files with 69 additions and 13 deletions
76
args.go
76
args.go
|
|
@ -2,12 +2,51 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type UsageArgs struct {
|
||||||
|
Version string
|
||||||
|
BuildDate string
|
||||||
|
OS string
|
||||||
|
Arch string
|
||||||
|
}
|
||||||
|
|
||||||
|
var usageTmpl = `usage: grumble [options]
|
||||||
|
|
||||||
|
grumble {{.Version}} ({{.BuildDate}})
|
||||||
|
target: {{.OS}}, {{.Arch}}
|
||||||
|
|
||||||
|
--help
|
||||||
|
Shows this help listing.
|
||||||
|
|
||||||
|
--datadir <data-dir> (default: $HOME/.grumble)
|
||||||
|
Directory to use for server storage.
|
||||||
|
|
||||||
|
--log <log-path> (default: $DATADIR/grumble.log)
|
||||||
|
Log file path.
|
||||||
|
|
||||||
|
--ssh <[addr]:port> (default: 46545)
|
||||||
|
Address to use for SSH administration.
|
||||||
|
|
||||||
|
--regen-keys
|
||||||
|
Force grumble to regenerate its global RSA
|
||||||
|
keypair (and certificate).
|
||||||
|
|
||||||
|
The global keypair lives in the root of the
|
||||||
|
grumble data directory.
|
||||||
|
|
||||||
|
--import-murmurdb <murmur-sqlite-path>
|
||||||
|
Import a Murmur SQLite database into grumble.
|
||||||
|
|
||||||
|
Use the --cleanup argument to force grumble to
|
||||||
|
clean up its data directory when doing the
|
||||||
|
import. This is *DESTRUCTIVE*! Use with care.
|
||||||
|
`
|
||||||
|
|
||||||
type args struct {
|
type args struct {
|
||||||
ShowHelp bool
|
ShowHelp bool
|
||||||
DataDir string
|
DataDir string
|
||||||
|
|
@ -31,22 +70,33 @@ func defaultLogPath() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Usage() {
|
func Usage() {
|
||||||
fmt.Fprintf(os.Stderr, "usage: grumble [options]\n")
|
t, err := template.New("usage").Parse(usageTmpl)
|
||||||
flag.PrintDefaults()
|
if err != nil {
|
||||||
|
panic("unable to parse usage template")
|
||||||
|
}
|
||||||
|
|
||||||
|
err = t.Execute(os.Stdout, UsageArgs{
|
||||||
|
Version: version,
|
||||||
|
BuildDate: buildDate,
|
||||||
|
OS: runtime.GOOS,
|
||||||
|
Arch: runtime.GOARCH,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic("unable to execute usage template")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var Args args
|
var Args args
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
flag.BoolVar(&Args.ShowHelp, "help", false, "Show this help listing")
|
flag.Usage = Usage
|
||||||
flag.StringVar(&Args.DataDir, "datadir", defaultDataDir(), "Directory to use for server storage")
|
|
||||||
flag.StringVar(&Args.LogPath, "log", defaultLogPath(), "Log file path")
|
|
||||||
flag.StringVar(&Args.SshAddr, "ssh", "localhost:46545", "Address to use for SSH admin prompt")
|
|
||||||
flag.BoolVar(&Args.RegenKeys, "regenkeys", false, "Force Grumble to regenerate its global RSA keypair and certificate")
|
|
||||||
|
|
||||||
// SQLite related
|
flag.BoolVar(&Args.ShowHelp, "help", false, "")
|
||||||
if SQLiteSupport {
|
flag.StringVar(&Args.DataDir, "datadir", defaultDataDir(), "")
|
||||||
flag.StringVar(&Args.SQLiteDB, "murmurdb", "", "Path to a Murmur SQLite database to import from")
|
flag.StringVar(&Args.LogPath, "log", defaultLogPath(), "")
|
||||||
flag.BoolVar(&Args.CleanUp, "cleanup", false, "Clean up Grumble's data directory on launch")
|
flag.StringVar(&Args.SshAddr, "ssh", "localhost:46545", "")
|
||||||
}
|
flag.BoolVar(&Args.RegenKeys, "regen-keys", false, "")
|
||||||
|
|
||||||
|
flag.StringVar(&Args.SQLiteDB, "import-murmurdb", "", "")
|
||||||
|
flag.BoolVar(&Args.CleanUp, "cleanup", false, "")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
6
version.go
Normal file
6
version.go
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
var (
|
||||||
|
version = "1.0~devel"
|
||||||
|
buildDate = "unknown"
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue