From ee49e490f2e5ab5b4d84b0707a810bec7b25c65f Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Thu, 6 Aug 2020 13:06:53 -0400 Subject: [PATCH] internal/lsp/source: fix bug introduced by CL 246757 CL 246757 resulted in an infinite loop because the value of "o" is never updated. Change-Id: I79cf265349838de19089c4468128c565a9a3cda3 Reviewed-on: https://go-review.googlesource.com/c/tools/+/247182 Run-TryBot: Rebecca Stambler TryBot-Result: Gobot Gobot Reviewed-by: Josh Baum --- internal/lsp/source/extract.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/lsp/source/extract.go b/internal/lsp/source/extract.go index 6cac9a3886..c3593d9376 100644 --- a/internal/lsp/source/extract.go +++ b/internal/lsp/source/extract.go @@ -476,13 +476,13 @@ func adjustRangeForWhitespace(rng span.Range, tok *token.File, content []byte) s } rng.Start = tok.Pos(offset) + // Move backwards to find a non-whitespace character. offset = tok.Offset(rng.End) - for o := offset - 1; 0 <= o && o < len(content); { + for o := offset - 1; 0 <= o && o < len(content); o-- { if !unicode.IsSpace(rune(content[o])) { break } - // Move backwards one byte to find a non-whitespace character. - offset -= 1 + offset = o } rng.End = tok.Pos(offset) return rng