package statusline import "strings" type Texter interface { Connected() string Disconnected() string Passthrough() string Sorting() string Threading() string FormatFilter(string) string FormatSearch(string) string } type text struct{} func (t text) Connected() string { return "Connected" } func (t text) Disconnected() string { return "Disconnected" } func (t text) Passthrough() string { return "passthrough" } func (t text) Sorting() string { return "sorting" } func (t text) Threading() string { return "threading" } func (t text) FormatFilter(s string) string { return s } func (t text) FormatSearch(s string) string { return s } type icon struct{} func (i icon) Connected() string { return "โœ“" } func (i icon) Disconnected() string { return "โœ˜" } func (i icon) Passthrough() string { return "โž”" } func (i icon) Sorting() string { return "โš™" } func (i icon) Threading() string { return "๐Ÿงต" } func (i icon) FormatFilter(s string) string { return strings.ReplaceAll(s, "filter", "๐Ÿ”ฆ") } func (i icon) FormatSearch(s string) string { return strings.ReplaceAll(s, "search", "๐Ÿ”Ž") }