Skip to content

Commit 18e8a01

Browse files
authored
OSC 8 hiperlink support (#364)
Signed-off-by: houdini91 <[email protected]>
1 parent b14745c commit 18e8a01

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

text/escape_seq_parser.go

+10
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,16 @@ func (s *escSeqParser) Consume(char rune) {
7878
if s.inEscSeq {
7979
s.escapeSeq += string(char)
8080

81+
// --- FIX for OSC 8 hyperlinks (e.g. \x1b]8;;url\x07label\x1b]8;;\x07)
82+
if s.escSeqKind == escSeqKindOSI &&
83+
strings.HasPrefix(s.escapeSeq, escapeStartConcealOSI) &&
84+
char == '\a' { // BEL
85+
86+
s.ParseSeq(s.escapeSeq, s.escSeqKind)
87+
s.Reset()
88+
return
89+
}
90+
8191
if s.isEscapeStopRune(char) {
8292
s.ParseSeq(s.escapeSeq, s.escSeqKind)
8393
s.Reset()

0 commit comments

Comments
 (0)