diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 35 |
1 files changed, 33 insertions, 2 deletions
@@ -2,15 +2,46 @@ package main import (
"fmt"
- "log"
"os"
+ log "github.com/sirupsen/logrus"
+ flag "github.com/spf13/pflag"
"github.com/wybiral/tube/pkg/app"
)
+var (
+ debug bool
+ version bool
+ config string
+)
+
+func init() {
+ flag.Usage = func() {
+ fmt.Fprintf(os.Stderr, "Usage: %s [options] [file]\n", os.Args[0])
+ flag.PrintDefaults()
+ }
+
+ flag.BoolVarP(&version, "version", "v", false, "display version information")
+ flag.BoolVarP(&debug, "debug", "d", false, "enable debug logging")
+ flag.StringVarP(&config, "config", "c", "config.json", "path to configuration file")
+}
+
func main() {
+ flag.Parse()
+
+ if debug {
+ log.SetLevel(log.DebugLevel)
+ } else {
+ log.SetLevel(log.InfoLevel)
+ }
+
+ if version {
+ fmt.Printf("ed version %s", FullVersion())
+ os.Exit(0)
+ }
+
cfg := app.DefaultConfig()
- err := cfg.ReadFile("config.json")
+ err := cfg.ReadFile(config)
if err != nil && !os.IsNotExist(err) {
log.Fatal(err)
}
|
