Skip to content

Commit

Permalink
gopls: update xurls dependency, remove \b workaround
Browse files Browse the repository at this point in the history
Update to v2.4.0, which brings optimizations and minor improvements.

Upstream fixed the issue with word breaks in v2.3.0,
released back in July 2021. For more, see:
mvdan/xurls#49

In short, ASCII TLDs now require a word break in Relaxed again.
Note that non-ASCII TLDs don't require one, as that just breaks them.
So, in that sense, this is making non-ASCII TLDs work in gopls again.

Plus, we avoid wasting CPU cycles at init time by rebuilding the regexp.

Change-Id: Iddb34827b61594fa1f911143f1d7e2c67a6658c9
Reviewed-on: https://go-review.googlesource.com/c/tools/+/389814
Trust: Daniel Martí <mvdan@mvdan.cc>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
  • Loading branch information
mvdan committed Mar 4, 2022
1 parent 3ce7728 commit 19fe2d7
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 14 deletions.
2 changes: 1 addition & 1 deletion gopls/go.mod
Expand Up @@ -12,7 +12,7 @@ require (
golang.org/x/tools v0.1.9
honnef.co/go/tools v0.2.2
mvdan.cc/gofumpt v0.3.0
mvdan.cc/xurls/v2 v2.3.0
mvdan.cc/xurls/v2 v2.4.0
)

require (
Expand Down
5 changes: 2 additions & 3 deletions gopls/go.sum
Expand Up @@ -26,7 +26,6 @@ github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsK
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
Expand Down Expand Up @@ -75,5 +74,5 @@ honnef.co/go/tools v0.2.2 h1:MNh1AVMyVX23VUHE2O27jm6lNj3vjO5DexS4A1xvnzk=
honnef.co/go/tools v0.2.2/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY=
mvdan.cc/gofumpt v0.3.0 h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=
mvdan.cc/gofumpt v0.3.0/go.mod h1:0+VyGZWleeIj5oostkOex+nDBA0eyavuDnDusAJ8ylo=
mvdan.cc/xurls/v2 v2.3.0 h1:59Olnbt67UKpxF1EwVBopJvkSUBmgtb468E4GVWIZ1I=
mvdan.cc/xurls/v2 v2.3.0/go.mod h1:AjuTy7gEiUArFMjgBBDU4SMxlfUYsRokpJQgNWOt3e4=
mvdan.cc/xurls/v2 v2.4.0 h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=
mvdan.cc/xurls/v2 v2.4.0/go.mod h1:+GEjq9uNjqs8LQfM9nVnM8rff0OQ5Iash5rzX+N1CSg=
11 changes: 1 addition & 10 deletions gopls/internal/hooks/hooks.go
Expand Up @@ -9,7 +9,6 @@ package hooks // import "golang.org/x/tools/gopls/internal/hooks"

import (
"context"
"regexp"

"golang.org/x/tools/internal/lsp/source"
"mvdan.cc/gofumpt/format"
Expand All @@ -21,7 +20,7 @@ func Options(options *source.Options) {
if options.GoDiff {
options.ComputeEdits = ComputeEdits
}
options.URLRegexp = relaxedFullWord
options.URLRegexp = xurls.Relaxed()
options.GofumptFormat = func(ctx context.Context, langVersion, modulePath string, src []byte) ([]byte, error) {
return format.Source(src, format.Options{
LangVersion: langVersion,
Expand All @@ -30,11 +29,3 @@ func Options(options *source.Options) {
}
updateAnalyzers(options)
}

var relaxedFullWord *regexp.Regexp

// Ensure links are matched as full words, not anywhere.
func init() {
relaxedFullWord = regexp.MustCompile(`\b(` + xurls.Relaxed().String() + `)\b`)
relaxedFullWord.Longest()
}

0 comments on commit 19fe2d7

Please sign in to comment.