From d039aeb5835958ef8b31127928f1bd6a7a0af90c Mon Sep 17 00:00:00 2001 From: houdini91 Date: Sun, 23 Mar 2025 13:18:55 +0200 Subject: [PATCH] OSC 8 hiperlink support Signed-off-by: houdini91 --- text/escape_seq_parser.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/text/escape_seq_parser.go b/text/escape_seq_parser.go index ab618acc..c6ffa437 100644 --- a/text/escape_seq_parser.go +++ b/text/escape_seq_parser.go @@ -78,6 +78,16 @@ func (s *escSeqParser) Consume(char rune) { if s.inEscSeq { s.escapeSeq += string(char) + // --- FIX for OSC 8 hyperlinks (e.g. \x1b]8;;url\x07label\x1b]8;;\x07) + if s.escSeqKind == escSeqKindOSI && + strings.HasPrefix(s.escapeSeq, escapeStartConcealOSI) && + char == '\a' { // BEL + + s.ParseSeq(s.escapeSeq, s.escSeqKind) + s.Reset() + return + } + if s.isEscapeStopRune(char) { s.ParseSeq(s.escapeSeq, s.escSeqKind) s.Reset()