MCPcopy Create free account
hub / github.com/driangle/taskmd / outputTracksTable

Function outputTracksTable

apps/cli/internal/cli/tracks.go:108–157  ·  view source on GitHub ↗
(result *tracks.Result)

Source from the content-addressed store, hash-verified

106}
107
108func outputTracksTable(result *tracks.Result) error {
109 r := getRenderer()
110
111 if len(result.Tracks) == 0 && len(result.Flexible) == 0 {
112 fmt.Println("No actionable tasks found.")
113 return nil
114 }
115
116 for _, warn := range result.Warnings {
117 fmt.Println(formatWarning("Warning: "+warn, r))
118 }
119 if len(result.Warnings) > 0 {
120 fmt.Println()
121 }
122
123 for _, track := range result.Tracks {
124 var header string
125 if len(track.Scopes) > 0 {
126 header = fmt.Sprintf("Track %d (%s):", track.ID, strings.Join(track.Scopes, ", "))
127 } else {
128 header = fmt.Sprintf("Track %d:", track.ID)
129 }
130 fmt.Println(formatLabel(header, r))
131
132 tw := NewTableWriter()
133 for i, task := range track.Tasks {
134 num := fmt.Sprintf(" %d.", i+1)
135 plain := []string{num, task.ID, task.Title, task.Priority}
136 colored := []string{num, formatTaskID(task.ID, r), task.Title, formatPriority(task.Priority, r)}
137 tw.AddRow(plain, colored)
138 }
139 tw.Flush(os.Stdout)
140 fmt.Println()
141 }
142
143 if len(result.Flexible) > 0 {
144 fmt.Println(formatLabel("Flexible (no declared overlaps):", r))
145
146 tw := NewTableWriter()
147 for i, task := range result.Flexible {
148 num := fmt.Sprintf(" %d.", i+1)
149 plain := []string{num, task.ID, task.Title, task.Priority}
150 colored := []string{num, formatTaskID(task.ID, r), task.Title, formatPriority(task.Priority, r)}
151 tw.AddRow(plain, colored)
152 }
153 tw.Flush(os.Stdout)
154 }
155
156 return nil
157}

Callers 2

runTracksFunction · 0.85

Calls 8

AddRowMethod · 0.95
FlushMethod · 0.95
getRendererFunction · 0.85
formatWarningFunction · 0.85
formatLabelFunction · 0.85
NewTableWriterFunction · 0.85
formatTaskIDFunction · 0.85
formatPriorityFunction · 0.85

Tested by 1