diff options
author | Teddy Wing | 2017-06-03 16:26:17 +0200 |
---|---|---|
committer | Teddy Wing | 2017-06-03 16:26:17 +0200 |
commit | 8d802bff08826523371ab5e951d85d0c0396ccc8 (patch) | |
tree | 68452ca770efe9689e28d7b5f98697153b2ace67 /main.go | |
parent | 47ec5ffeea72fff2019636be2c97ee36fcd176a6 (diff) | |
download | timetasker-8d802bff08826523371ab5e951d85d0c0396ccc8.tar.bz2 |
Add command line argument parsing
* Use the Kingpin library to give us POSIX command line argument parsing
with a nice interface
* Add arguments for the project alias (specified in config.toml), time
spent, date, and description
* Add a version, required by Kingpin
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -8,6 +8,7 @@ import ( "github.com/teddywing/timetasker/timetask" "github.com/BurntSushi/toml" + "gopkg.in/alecthomas/kingpin.v2" ) type Config struct { @@ -24,6 +25,27 @@ var config Config func main() { loadConfig() + // Parse command line arguments + project_alias := kingpin.Flag( + "project", + "Project alias defined in config.toml.", + ). + Short('p'). + Required(). + String() + time_spent := kingpin.Flag("time", "Time spent working on project."). + Short('t'). + Default("7"). + Int() + date := kingpin.Flag("date", "Date when work was done (e.g. 2017-01-31)"). + String() + description := kingpin.Flag("description", "Description of work."). + Short('m'). + String() + kingpin.Version("0.1.0") + kingpin.Parse() + + // Submit time entry resp, client, err := timetask.Login( config.Auth.Username, config.Auth.PasswordCmd, |