mirror of
https://github.com/rivo/tview.git
synced 2025-04-26 13:49:06 +08:00
Added Escape() function. Resolves #84
This commit is contained in:
parent
5bd22542e5
commit
96473a04c6
11
util.go
11
util.go
@ -107,6 +107,7 @@ var (
|
|||||||
colorPattern = regexp.MustCompile(`\[([a-zA-Z]+|#[0-9a-zA-Z]{6})?(:([a-zA-Z]+|#[0-9a-zA-Z]{6})?(:([lbdru]+))?)?\]`)
|
colorPattern = regexp.MustCompile(`\[([a-zA-Z]+|#[0-9a-zA-Z]{6})?(:([a-zA-Z]+|#[0-9a-zA-Z]{6})?(:([lbdru]+))?)?\]`)
|
||||||
regionPattern = regexp.MustCompile(`\["([a-zA-Z0-9_,;: \-\.]*)"\]`)
|
regionPattern = regexp.MustCompile(`\["([a-zA-Z0-9_,;: \-\.]*)"\]`)
|
||||||
escapePattern = regexp.MustCompile(`\[([a-zA-Z0-9_,;: \-\."#]+)\[(\[*)\]`)
|
escapePattern = regexp.MustCompile(`\[([a-zA-Z0-9_,;: \-\."#]+)\[(\[*)\]`)
|
||||||
|
nonEscapePattern = regexp.MustCompile(`(\[[a-zA-Z0-9_,;: \-\."#]+\[*)\]`)
|
||||||
boundaryPattern = regexp.MustCompile("([[:punct:]]\\s*|\\s+)")
|
boundaryPattern = regexp.MustCompile("([[:punct:]]\\s*|\\s+)")
|
||||||
spacePattern = regexp.MustCompile(`\s+`)
|
spacePattern = regexp.MustCompile(`\s+`)
|
||||||
)
|
)
|
||||||
@ -564,3 +565,13 @@ func PrintJoinedBorder(screen tcell.Screen, x, y int, ch rune, color tcell.Color
|
|||||||
// We only print something if we have something.
|
// We only print something if we have something.
|
||||||
screen.SetContent(x, y, result, nil, style)
|
screen.SetContent(x, y, result, nil, style)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Escape escapes the given text such that color and/or region tags are not
|
||||||
|
// recognized and substituted by the print functions of this package. For
|
||||||
|
// example, to include a tag-like string in a box title or in a TextView:
|
||||||
|
//
|
||||||
|
// box.SetTitle(tview.Escape("[squarebrackets]"))
|
||||||
|
// fmt.Fprint(textView, tview.Escape(`["quoted"]`))
|
||||||
|
func Escape(text string) string {
|
||||||
|
return nonEscapePattern.ReplaceAllString(text, "$1[]")
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user