mirror of https://github.com/Rudi9719/kbtui.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
5 years ago
|
package main
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"regexp"
|
||
|
)
|
||
|
|
||
|
// TODO maybe datastructure
|
||
|
// BASH-like PS1 variable equivalent (without colours)
|
||
|
// TODO bold? cursive etc?
|
||
|
func color(c int) string {
|
||
|
if colorless {
|
||
|
return ""
|
||
|
}
|
||
|
if c < 0 {
|
||
|
return "\033[0m"
|
||
|
} else {
|
||
|
return fmt.Sprintf("\033[0;%dm", 29+c)
|
||
|
}
|
||
|
}
|
||
|
// TODO maybe make the text into some datastructure which remembers the color
|
||
|
func colorText(text string, color string, offColor string) string {
|
||
|
return fmt.Sprintf("%s%s%s", color, text, offColor)
|
||
|
}
|
||
|
|
||
|
func colorUsername(username string, offColor string) string {
|
||
|
var color = messageSenderDefaultColor
|
||
|
if username == k.Username {
|
||
|
color = mentionColor
|
||
|
}
|
||
|
return colorText(username, color, offColor)
|
||
|
}
|
||
|
func colorRegex(msg string, match string, color string, offColor string) string {
|
||
|
var re = regexp.MustCompile(match)
|
||
|
return re.ReplaceAllString(msg, colorText(`$1`, color, offColor))
|
||
|
}
|
||
|
|
||
|
func colorReplaceMentionMe(msg string, offColor string) string {
|
||
|
//var coloredOwnName = colorText(k.Username, mentionColor, offColor)
|
||
|
//return strings.Replace(msg, k.Username, coloredOwnName, -1)
|
||
|
return colorRegex(msg, "(@?"+k.Username+")", mentionColor, offColor)
|
||
|
}
|