diff --git a/cmd/task/add.go b/cmd/task/add.go index 2f8bb1b023ba1d9693c0fdfc531e36c11c94f6d8..017163f75bd20c20f8d156f4006ad58ef0859677 100644 --- a/cmd/task/add.go +++ b/cmd/task/add.go @@ -43,7 +43,7 @@ func init() { AddCmd.Flags().StringP("goal", "g", "", "Goal key (from config)") AddCmd.Flags().StringP("status", "s", "", "Status: later, next, started, waiting") AddCmd.Flags().StringP("note", "n", "", "Task note (use - for stdin)") - AddCmd.Flags().IntP("priority", "p", 0, "Priority: -2 to 2") + AddCmd.Flags().StringP("priority", "p", "", "Priority: lowest, low, normal, high, highest") AddCmd.Flags().IntP("estimate", "e", 0, "Estimate in minutes (0-720)") AddCmd.Flags().StringP("motivation", "m", "", "Motivation: must, should, want") AddCmd.Flags().Bool("important", false, "Mark as important (Eisenhower matrix)") @@ -56,6 +56,8 @@ func init() { _ = AddCmd.RegisterFlagCompletionFunc("goal", completion.Goals) _ = AddCmd.RegisterFlagCompletionFunc("status", completion.Static("later", "next", "started", "waiting")) + _ = AddCmd.RegisterFlagCompletionFunc("priority", + completion.Static("lowest", "low", "normal", "high", "highest")) _ = AddCmd.RegisterFlagCompletionFunc("motivation", completion.Static("must", "should", "want")) } @@ -162,8 +164,13 @@ func applyOptionalFlags(cmd *cobra.Command, builder *lunatask.TaskBuilder) error builder.WithNote(resolved) } - if priority, _ := cmd.Flags().GetInt("priority"); priority != 0 { - builder.Priority(lunatask.Priority(priority)) + if priority, _ := cmd.Flags().GetString("priority"); priority != "" { + p, err := lunatask.ParsePriority(priority) + if err != nil { + return err + } + + builder.Priority(p) } if estimate, _ := cmd.Flags().GetInt("estimate"); estimate != 0 {