zenity/internal/zencmd/markup.go

30 lines
457 B
Go
Raw Permalink Normal View History

2022-06-14 08:03:32 -04:00
package zencmd
import (
"encoding/xml"
"io"
"strings"
)
// StripMarkup is internal.
func StripMarkup(s string) string {
// Strips XML markup described in:
// https://docs.gtk.org/Pango/pango_markup.html
dec := xml.NewDecoder(strings.NewReader(s))
var buf strings.Builder
for {
t, err := dec.Token()
if err == io.EOF {
return buf.String()
}
if err != nil {
return s
}
if t, ok := t.(xml.CharData); ok {
buf.Write(t)
}
}
}