mirror of
https://github.com/go-task/task.git
synced 2025-01-12 04:34:11 +02:00
998935ea55
If an inexixtent task is given, the help also prints as before Also fixing README documentation Closes #51
34 lines
681 B
Go
34 lines
681 B
Go
package task
|
|
|
|
import (
|
|
"fmt"
|
|
"sort"
|
|
"text/tabwriter"
|
|
)
|
|
|
|
// PrintTasksHelp prints help os tasks that have a description
|
|
func (e *Executor) PrintTasksHelp() {
|
|
tasks := e.tasksWithDesc()
|
|
if len(tasks) == 0 {
|
|
return
|
|
}
|
|
e.println("Available tasks for this project:")
|
|
|
|
// Format in tab-separated columns with a tab stop of 8.
|
|
w := tabwriter.NewWriter(e.Stdout, 0, 8, 0, '\t', 0)
|
|
for _, task := range tasks {
|
|
fmt.Fprintln(w, fmt.Sprintf("* %s:\t%s", task, e.Tasks[task].Desc))
|
|
}
|
|
w.Flush()
|
|
}
|
|
|
|
func (e *Executor) tasksWithDesc() (tasks []string) {
|
|
for name, task := range e.Tasks {
|
|
if task.Desc != "" {
|
|
tasks = append(tasks, name)
|
|
}
|
|
}
|
|
sort.Strings(tasks)
|
|
return
|
|
}
|