MCPcopy Index your code
hub / github.com/git-bug/git-bug / runBug

Function runBug

commands/bug/bug.go:124–180  ·  view source on GitHub ↗
(env *execenv.Env, opts bugOptions, args []string)

Source from the content-addressed store, hash-verified

122}
123
124func runBug(env *execenv.Env, opts bugOptions, args []string) error {
125 var q *query.Query
126 var err error
127
128 if len(args) >= 1 {
129 // either the shell or cobra remove the quotes, we need them back for the query parsing
130 assembled := repairQuery(args)
131
132 q, err = query.Parse(assembled)
133 if err != nil {
134 return err
135 }
136 } else {
137 q = query.NewQuery()
138 }
139
140 err = completeQuery(q, opts)
141 if err != nil {
142 return err
143 }
144
145 allIds, err := env.Backend.Bugs().Query(q)
146 if err != nil {
147 return err
148 }
149
150 excerpts := make([]*cache.BugExcerpt, len(allIds))
151 for i, id := range allIds {
152 b, err := env.Backend.Bugs().ResolveExcerpt(id)
153 if err != nil {
154 return err
155 }
156 excerpts[i] = b
157 }
158
159 switch opts.outputFormat {
160 case "default":
161 if opts.outputFormatChanged {
162 return bugsDefaultFormatter(env, excerpts)
163 }
164 if env.Out.IsTerminal() {
165 return bugsDefaultFormatter(env, excerpts)
166 } else {
167 return bugsPlainFormatter(env, excerpts)
168 }
169 case "id":
170 return bugsIDFormatter(env, excerpts)
171 case "plain":
172 return bugsPlainFormatter(env, excerpts)
173 case "json":
174 return bugsJsonFormatter(env, excerpts)
175 case "org-mode":
176 return bugsOrgmodeFormatter(env, excerpts)
177 default:
178 return fmt.Errorf("unknown format %s", opts.outputFormat)
179 }
180}
181

Callers 2

NewBugCommandFunction · 0.85
TestBug_FormatFunction · 0.85

Calls 14

ParseFunction · 0.92
NewQueryFunction · 0.92
repairQueryFunction · 0.85
completeQueryFunction · 0.85
bugsDefaultFormatterFunction · 0.85
bugsPlainFormatterFunction · 0.85
bugsIDFormatterFunction · 0.85
bugsJsonFormatterFunction · 0.85
bugsOrgmodeFormatterFunction · 0.85
BugsMethod · 0.80
ResolveExcerptMethod · 0.80
ErrorfMethod · 0.80

Tested by 1

TestBug_FormatFunction · 0.68