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

Function runListAllProjects

apps/cli/internal/cli/list.go:121–161  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

119}
120
121func runListAllProjects() error {
122 ptasks, err := scanAllProjects()
123 if err != nil {
124 return err
125 }
126
127 // Extract plain tasks for filtering/sorting
128 tasks := make([]*model.Task, len(ptasks))
129 for i, pt := range ptasks {
130 tasks[i] = pt.Task
131 }
132
133 tasks, err = applyListFiltersAndSort(tasks)
134 if err != nil {
135 return err
136 }
137
138 // Rebuild project task index after filtering
139 taskIndex := make(map[*model.Task]*ProjectTask, len(ptasks))
140 for _, pt := range ptasks {
141 taskIndex[pt.Task] = pt
142 }
143
144 filtered := make([]*ProjectTask, 0, len(tasks))
145 for _, t := range tasks {
146 if pt, ok := taskIndex[t]; ok {
147 filtered = append(filtered, pt)
148 }
149 }
150
151 switch listFormat {
152 case "json":
153 return outputProjectJSON(filtered)
154 case "yaml":
155 return outputProjectYAML(filtered)
156 case "table":
157 return outputProjectTable(filtered, listColumns)
158 default:
159 return ValidateFormat(listFormat, []string{"table", "json", "yaml"})
160 }
161}
162
163// projectTaskOutput is the JSON/YAML representation for --all-projects output.
164type projectTaskOutput struct {

Callers 1

runListFunction · 0.85

Calls 6

scanAllProjectsFunction · 0.85
applyListFiltersAndSortFunction · 0.85
outputProjectJSONFunction · 0.85
outputProjectYAMLFunction · 0.85
outputProjectTableFunction · 0.85
ValidateFormatFunction · 0.85

Tested by

no test coverage detected