hints: Fix trailing punctuation being included in detected URLs

This commit is contained in:
Kevin Lui 2026-04-07 22:55:45 -07:00
parent 2e15c0117e
commit be7a010b9c
2 changed files with 5 additions and 1 deletions

View file

@ -174,7 +174,7 @@ var PostProcessorMap = sync.OnceValue(func() map[string]PostProcessorFunc {
e -= len(url) - idx
}
}
for e > 1 && is_punctuation(char_at(text, e)) { // remove trailing punctuation
for e > 1 && is_punctuation(char_at(text, e-1)) { // remove trailing punctuation
e--
}
// truncate url at closing bracket/quote

View file

@ -67,6 +67,10 @@ func TestHintMarking(t *testing.T) {
r(`<a href="`+u+`">moo`, u)
r("\x1b[mhttp://test.me/1234\n\x1b[mx", "http://test.me/1234")
r("\x1b[mhttp://test.me/12345\r\x1b[m6\n\x1b[mx", "http://test.me/123456")
r("http://example.com,", "http://example.com")
r("http://example.com.", "http://example.com")
r("http://example.com!", "http://example.com")
r("http://example.com?", "http://example.com")
opts.Type = "linenum"
m := func(text, path string, line int) {