internal/lsp/source: start import diffs at byte 0

I assumed that f.Pos() would be the first byte of the file, but it's the
position of the package declaration. This kills the file. Just use 0.

Fixes golang/go#35458.

Change-Id: Ic77c93344c71435ef8e5624c2f2defb619139a15
Reviewed-on: https://go-review.googlesource.com/c/tools/+/206145
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/source/format.go b/internal/lsp/source/format.go
index c6aefee..6b0e409 100644
--- a/internal/lsp/source/format.go
+++ b/internal/lsp/source/format.go
@@ -277,7 +277,7 @@
 	if firstDecl != nil {
 		end = fset.File(f.Pos()).LineStart(fset.Position(firstDecl.Pos()).Line - 1)
 	}
-	return src[fset.Position(f.Pos()).Offset:fset.Position(end).Offset]
+	return src[0:fset.Position(end).Offset]
 }
 
 // CandidateImports returns every import that could be added to filename.
diff --git a/internal/lsp/testdata/imports/issue35458.go.golden b/internal/lsp/testdata/imports/issue35458.go.golden
new file mode 100644
index 0000000..59aaf14
--- /dev/null
+++ b/internal/lsp/testdata/imports/issue35458.go.golden
@@ -0,0 +1,14 @@
+-- goimports --
+package imports //@import("package")
+
+func _() {
+	println("Hello, world!")
+}
+
+
+
+
+
+
+      
+
diff --git a/internal/lsp/testdata/imports/issue35458.go.in b/internal/lsp/testdata/imports/issue35458.go.in
new file mode 100644
index 0000000..f9b07b8
--- /dev/null
+++ b/internal/lsp/testdata/imports/issue35458.go.in
@@ -0,0 +1,22 @@
+    
+
+
+
+
+package imports //@import("package")
+
+
+
+
+
+
+func _() {
+	println("Hello, world!")
+}
+
+
+
+
+
+
+      
diff --git a/internal/lsp/testdata/summary.txt.golden b/internal/lsp/testdata/summary.txt.golden
index 4acd1f3..a875e5a 100644
--- a/internal/lsp/testdata/summary.txt.golden
+++ b/internal/lsp/testdata/summary.txt.golden
@@ -9,7 +9,7 @@
 DiagnosticsCount = 22
 FoldingRangesCount = 2
 FormatCount = 6
-ImportCount = 6
+ImportCount = 7
 SuggestedFixCount = 1
 DefinitionsCount = 38
 TypeDefinitionsCount = 2