pranshuparmar--witr
36b3af2e3d
PR Check / Code Quality: Format (push) Failing after 1s
PR Check / Code Quality: Lint (darwin) (push) Failing after 0s
PR Check / Code Quality: Lint (freebsd) (push) Failing after 1s
PR Check / Code Quality: Lint (windows) (push) Failing after 1s
PR Check / Code Quality: Lint (linux) (push) Failing after 1s
PR Check / Security: Vulnerability Scan (push) Failing after 0s
Update Documentation / update-docs (push) Failing after 2s
PR Check / Code Quality: Vendor (push) Failing after 1s
PR Check / Code Quality: Coverage (push) Failing after 0s
PR Check / Tests: Unit (macos-latest) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04) (push) Has been cancelled
PR Check / Tests: Unit (ubuntu-24.04-arm) (push) Has been cancelled
PR Check / Tests: Unit (windows-latest) (push) Has been cancelled
22 行
724 B
Go
22 行
724 B
Go
package tui
|
|
|
|
import (
|
|
"regexp"
|
|
"strings"
|
|
)
|
|
|
|
var ansiRegex = regexp.MustCompile(`[\x1b\x9b][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[a-zA-Z\d]*)*)?[\x07])|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PRZcf-ntqry=><~]))`)
|
|
|
|
func stripAnsi(str string) string {
|
|
return ansiRegex.ReplaceAllString(str, "")
|
|
}
|
|
|
|
// normalizeRow collapses runs of whitespace into single spaces and trims
|
|
// leading/trailing whitespace. Used for matching a clicked rendered line
|
|
// against a stored table row: the renderer adds cell padding and may emit
|
|
// empty cells as runs of spaces, while strings.Join puts only single spaces
|
|
// between cells. Both sides normalize identically.
|
|
func normalizeRow(s string) string {
|
|
return strings.Join(strings.Fields(s), " ")
|
|
}
|