MCPcopy
hub / github.com/go-task/task / writeLine

Method writeLine

internal/output/prefixed.go:82–115  ·  view source on GitHub ↗
(line string)

Source from the content-addressed store, hash-verified

80}
81
82func (pw *prefixWriter) writeLine(line string) error {
83 if line == "" {
84 return nil
85 }
86 if !strings.HasSuffix(line, "\n") {
87 line += "\n"
88 }
89
90 defer pw.prefixed.mutex.Unlock()
91 pw.prefixed.mutex.Lock()
92
93 idx, ok := pw.prefixed.seen[pw.prefix]
94
95 if !ok {
96 idx = *pw.prefixed.counter
97 pw.prefixed.seen[pw.prefix] = idx
98
99 *pw.prefixed.counter++
100 }
101
102 if _, err := fmt.Fprint(pw.writer, "["); err != nil {
103 return nil
104 }
105
106 color := PrefixColorSequence[idx%uint(len(PrefixColorSequence))]
107 pw.prefixed.logger.FOutf(pw.writer, color, pw.prefix)
108
109 if _, err := fmt.Fprint(pw.writer, "] "); err != nil {
110 return nil
111 }
112
113 _, err := fmt.Fprint(pw.writer, line)
114 return err
115}

Callers 1

writeOutputLinesMethod · 0.95

Calls 1

FOutfMethod · 0.80

Tested by

no test coverage detected