DRYer
This commit is contained in:
parent
c2e549b79c
commit
e2edacb629
@ -82,6 +82,13 @@ const SGR_SUFFIX = "m"
|
|||||||
func ansi_formatter(w io.Writer, style *chroma.Style, it chroma.Iterator) error {
|
func ansi_formatter(w io.Writer, style *chroma.Style, it chroma.Iterator) error {
|
||||||
style = clear_background(style)
|
style = clear_background(style)
|
||||||
before, after := make([]byte, 0, 64), make([]byte, 0, 64)
|
before, after := make([]byte, 0, 64), make([]byte, 0, 64)
|
||||||
|
write_sgr := func(which []byte) {
|
||||||
|
if len(which) > 1 {
|
||||||
|
w.Write(utils.UnsafeStringToBytes(SGR_PREFIX))
|
||||||
|
w.Write(which[:len(which)-1])
|
||||||
|
w.Write(utils.UnsafeStringToBytes(SGR_SUFFIX))
|
||||||
|
}
|
||||||
|
}
|
||||||
for token := it(); token != chroma.EOF; token = it() {
|
for token := it(); token != chroma.EOF; token = it() {
|
||||||
entry := style.Get(token.Type)
|
entry := style.Get(token.Type)
|
||||||
before, after = before[:0], after[:0]
|
before, after = before[:0], after[:0]
|
||||||
@ -103,17 +110,9 @@ func ansi_formatter(w io.Writer, style *chroma.Style, it chroma.Iterator) error
|
|||||||
after = append(after, '3', '9', ';')
|
after = append(after, '3', '9', ';')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(before) > 1 {
|
write_sgr(before)
|
||||||
w.Write(utils.UnsafeStringToBytes(SGR_PREFIX))
|
|
||||||
w.Write(before[:len(before)-1])
|
|
||||||
w.Write(utils.UnsafeStringToBytes(SGR_SUFFIX))
|
|
||||||
}
|
|
||||||
w.Write(utils.UnsafeStringToBytes(token.Value))
|
w.Write(utils.UnsafeStringToBytes(token.Value))
|
||||||
if len(after) > 1 {
|
write_sgr(after)
|
||||||
w.Write(utils.UnsafeStringToBytes(SGR_PREFIX))
|
|
||||||
w.Write(after[:len(after)-1])
|
|
||||||
w.Write(utils.UnsafeStringToBytes(SGR_SUFFIX))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user