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 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-- e--
} }
// truncate url at closing bracket/quote // truncate url at closing bracket/quote

View File

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