diff --git a/gopls/internal/hooks/hooks.go b/gopls/internal/hooks/hooks.go index 50e8f71f26..390967d5f6 100644 --- a/gopls/internal/hooks/hooks.go +++ b/gopls/internal/hooks/hooks.go @@ -21,16 +21,17 @@ func Options(options *source.Options) { if options.GoDiff { options.ComputeEdits = ComputeEdits } - options.URLRegexp = urlRegexp() + options.URLRegexp = relaxedFullWord options.GofumptFormat = func(ctx context.Context, src []byte) ([]byte, error) { return format.Source(src, format.Options{}) } updateAnalyzers(options) } -func urlRegexp() *regexp.Regexp { - // Ensure links are matched as full words, not anywhere. - re := regexp.MustCompile(`\b(` + xurls.Relaxed().String() + `)\b`) - re.Longest() - return re +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() }