fix(terminal): fix OSC 8 parsing (#34424)

vterm does not send us the terminator in the string fragment. Our OSC 8
parser assumed that it was and therefore treated short strings as
invalid (as it assumed it was missing a terminator).
This commit is contained in:
Gregory Anders
2025-06-10 15:52:45 -05:00
committed by GitHub
parent 228ff6e547
commit b5aef05b8f
2 changed files with 14 additions and 22 deletions

View File

@ -398,12 +398,13 @@ describe(':terminal', function()
[100] = { url = 'https://example.com' },
}
local chan = api.nvim_open_term(0, {})
api.nvim_chan_send(chan, '\027]8;;https://example.com\027\\Example\027]8;;\027\\')
screen:expect({
grid = [[
{100:^Example} |
|*6
]],
})
api.nvim_chan_send(
chan,
'This is an \027]8;;https://example.com\027\\example\027]8;;\027\\ of a link'
)
screen:expect([[
^This is an {100:example} of a link |
|*6
]])
end)
end)