mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2025-02-08 15:08:30 +00:00
parent
65db7352b7
commit
578108280e
15
src/ansi.go
15
src/ansi.go
@ -358,12 +358,17 @@ func interpretCode(ansiCode string, prevState *ansiState) ansiState {
|
|||||||
if ansiCode[0] != '\x1b' || ansiCode[1] != '[' || ansiCode[len(ansiCode)-1] != 'm' {
|
if ansiCode[0] != '\x1b' || ansiCode[1] != '[' || ansiCode[len(ansiCode)-1] != 'm' {
|
||||||
if prevState != nil && strings.HasSuffix(ansiCode, "0K") {
|
if prevState != nil && strings.HasSuffix(ansiCode, "0K") {
|
||||||
state.lbg = prevState.bg
|
state.lbg = prevState.bg
|
||||||
} else if ansiCode == "\x1b]8;;\x1b\\" { // End of a hyperlink
|
} else if strings.HasPrefix(ansiCode, "\x1b]8;") && (strings.HasSuffix(ansiCode, "\x1b\\") || strings.HasSuffix(ansiCode, "\a")) {
|
||||||
state.url = nil
|
stLen := 2
|
||||||
} else if strings.HasPrefix(ansiCode, "\x1b]8;") && strings.HasSuffix(ansiCode, "\x1b\\") {
|
if strings.HasSuffix(ansiCode, "\a") {
|
||||||
if paramsEnd := strings.IndexRune(ansiCode[4:], ';'); paramsEnd >= 0 {
|
stLen = 1
|
||||||
|
}
|
||||||
|
// "\x1b]8;;\x1b\\" or "\x1b]8;;\a"
|
||||||
|
if len(ansiCode) == 5+stLen && ansiCode[4] == ';' {
|
||||||
|
state.url = nil
|
||||||
|
} else if paramsEnd := strings.IndexRune(ansiCode[4:], ';'); paramsEnd >= 0 {
|
||||||
params := ansiCode[4 : 4+paramsEnd]
|
params := ansiCode[4 : 4+paramsEnd]
|
||||||
uri := ansiCode[5+paramsEnd : len(ansiCode)-2]
|
uri := ansiCode[5+paramsEnd : len(ansiCode)-stLen]
|
||||||
state.url = &url{uri: uri, params: params}
|
state.url = &url{uri: uri, params: params}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user