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

Function runContext

apps/cli/internal/cli/context.go:68–108  ·  view source on GitHub ↗
(cmd *cobra.Command, _ []string)

Source from the content-addressed store, hash-verified

66}
67
68func runContext(cmd *cobra.Command, _ []string) error {
69 flags := GetGlobalFlags()
70 scanDir := ResolveScanDir(nil)
71
72 taskScanner := scanner.NewScanner(scanDir, flags.Verbose, flags.IgnoreDirs)
73 result, err := taskScanner.Scan()
74 if err != nil {
75 return fmt.Errorf("scan failed: %w", err)
76 }
77
78 warnDuplicateIDs(result.Tasks)
79
80 task := findExactMatch(ctxTaskID, result.Tasks)
81 if task == nil {
82 return fmt.Errorf("task not found: %s", ctxTaskID)
83 }
84
85 scopes := loadScopePathsConfig()
86 projectRoot := resolveProjectRoot()
87
88 opts := taskcontext.Options{
89 Scopes: scopes,
90 ProjectRoot: projectRoot,
91 Resolve: ctxResolve,
92 IncludeContent: ctxIncludeContent,
93 MaxFiles: ctxMaxFiles,
94 }
95
96 ctxResult, err := taskcontext.Resolve(task, opts)
97 if err != nil {
98 return fmt.Errorf("context resolution failed: %w", err)
99 }
100
101 if ctxIncludeDeps {
102 mergeDependencyFiles(task, result.Tasks, opts, ctxResult)
103 }
104
105 addDependencyEntries(task, result.Tasks, ctxResult)
106
107 return outputContext(ctxResult, ctxFormat)
108}
109
110// mergeDependencyFiles resolves context for each direct dependency and merges files.
111func mergeDependencyFiles(task *model.Task, allTasks []*model.Task, opts taskcontext.Options, target *taskcontext.Result) {

Callers 1

captureContextOutputFunction · 0.85

Calls 10

ScanMethod · 0.95
GetGlobalFlagsFunction · 0.85
ResolveScanDirFunction · 0.85
warnDuplicateIDsFunction · 0.85
findExactMatchFunction · 0.85
loadScopePathsConfigFunction · 0.85
resolveProjectRootFunction · 0.85
mergeDependencyFilesFunction · 0.85
addDependencyEntriesFunction · 0.85
outputContextFunction · 0.85

Tested by 1

captureContextOutputFunction · 0.68