Repository: go
Issue: x/tools/gopls: organizeImports does not find package after changing its name
Labels: gopls,Tools,gopls/imports

### gopls version

```
% gopls -v version
Build info
----------
golang.org/x/tools/gopls v0.15.3
    golang.org/x/tools/gopls@v0.15.3 h1:zbdOidFrPTc8Bx0YrN5QKgJ0zCjyGi0L27sKQ/bDG5o=
    github.com/BurntSushi/toml@v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
    github.com/google/go-cmp@v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
    golang.org/x/exp/typeparams@v0.0.0-20221212164502-fae10dda9338 h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=
    golang.org/x/mod@v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
    golang.org/x/sync@v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
    golang.org/x/telemetry@v0.0.0-20240209200032-7b892fcb8a78 h1:vcVnuftN4J4UKLRcgetjzfU9FjjgXUUYUc3JhFplgV4=
    golang.org/x/text@v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
    golang.org/x/tools@v0.18.1-0.20240412183611-d92ae0781217 h1:uH9jJYgeLCvblH0S+03kFO0qUDxRkbLRLFiKVVDl7ak=
    golang.org/x/vuln@v1.0.1 h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=
    honnef.co/go/tools@v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8=
    mvdan.cc/gofumpt@v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
    mvdan.cc/xurls/v2@v2.5.0 h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8=
go: go1.22.3
```

### go env

```shell
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/stapelberg/.cache/go-build'
GOENV='/home/stapelberg/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/stapelberg/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/stapelberg/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/usr/lib/go-1.22'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/lib/go-1.22/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='go1.22.3'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4255810886=/tmp/go-build -gno-record-gcc-switches'
```


### What did you do?

I created a tiny Go project with the following 3 files:

go.mod:
```
module hello

go 1.22
```

hello1.go:
```go
package main

import (
	"fmt"
)

func main() {
	fmt.Println("hey, what’s up?")
}
```

internal/foo/foo.go:
```
package bar                  
 
func Bar() {}
func Baz() {}
```

Note how internal/foo/foo.go contains “package bar”, which I’ll later correct.

### What did you see happen?

I opened Emacs on hello1.go, then:
1. Added `foo.Bar()` to `func main()`, save the file to trigger organizeImports
    * This has no visible effect, but is a necessary step to reproduce the bug.
1. Opened internal/foo/foo.go as well
3. Changed “package bar” to “package foo”
4. Switched to the hello1.go buffer
5. Save hello1.go again to trigger organizeImports
7. The expected `internal/foo/foo` import is not added.

### What did you expect to see?

I would have expected gopls to add the internal/foo/foo import.

Restarting gopls using `M-x eglot` helps — afterwards the organizeImports action succeeds.

### Editor and settings

Emacs 29 with go-ts-mode and eglot

### Logs

```
[internal] Thu Jun 13 14:21:58 2024:
(:message "Running language server: gopls")
[client-request] (id:1) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
	  (:processId 87532 :rootPath "/home/stapelberg/repro-emacs/hello1/" :rootUri "file:///home/stapelberg/repro-emacs/hello1" :initializationOptions #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
																					())
		      :capabilities
		      (:workspace
		       (:applyEdit t :executeCommand
				   (:dynamicRegistration :json-false)
				   :workspaceEdit
				   (:documentChanges t)
				   :didChangeWatchedFiles
				   (:dynamicRegistration t)
				   :symbol
				   (:dynamicRegistration :json-false)
				   :configuration t :workspaceFolders t)
		       :textDocument
		       (:synchronization
			(:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
			:completion
			(:dynamicRegistration :json-false :completionItem
					      (:snippetSupport :json-false :deprecatedSupport t :resolveSupport
							       (:properties
								["documentation" "details" "additionalTextEdits"])
							       :tagSupport
							       (:valueSet
								[1]))
					      :contextSupport t)
			:hover
			(:dynamicRegistration :json-false :contentFormat
					      ["plaintext"])
			:signatureHelp
			(:dynamicRegistration :json-false :signatureInformation
					      (:parameterInformation
					       (:labelOffsetSupport t)
					       :activeParameterSupport t))
			:references
			(:dynamicRegistration :json-false)
			:definition
			(:dynamicRegistration :json-false :linkSupport t)
			:declaration
			(:dynamicRegistration :json-false :linkSupport t)
			:implementation
			(:dynamicRegistration :json-false :linkSupport t)
			:typeDefinition
			(:dynamicRegistration :json-false :linkSupport t)
			:documentSymbol
			(:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :symbolKind
					      (:valueSet
					       [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26]))
			:documentHighlight
			(:dynamicRegistration :json-false)
			:codeAction
			(:dynamicRegistration :json-false :codeActionLiteralSupport
					      (:codeActionKind
					       (:valueSet
						["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
					      :isPreferredSupport t)
			:formatting
			(:dynamicRegistration :json-false)
			:rangeFormatting
			(:dynamicRegistration :json-false)
			:rename
			(:dynamicRegistration :json-false)
			:inlayHint
			(:dynamicRegistration :json-false)
			:publishDiagnostics
			(:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
					     (:valueSet
					      [1 2])))
		       :window
		       (:workDoneProgress t)
		       :general
		       (:positionEncodings
			["utf-32" "utf-8" "utf-16"])
		       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
						   ()))
		      :workspaceFolders
		      [(:uri "file:///home/stapelberg/repro-emacs/hello1" :name "~/repro-emacs/hello1/")]))
[server-reply] (id:1) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :result
	  (:capabilities
	   (:textDocumentSync
	    (:openClose t :change 2 :save nil)
	    :completionProvider
	    (:triggerCharacters
	     ["."])
	    :hoverProvider t :signatureHelpProvider
	    (:triggerCharacters
	     ["(" ","])
	    :definitionProvider t :typeDefinitionProvider t :implementationProvider t :referencesProvider t :documentHighlightProvider t :documentSymbolProvider t :codeActionProvider
	    (:codeActionKinds
	     ["quickfix" "refactor.extract" "refactor.inline" "refactor.rewrite" "source.fixAll" "source.organizeImports"]
	     :resolveProvider t)
	    :codeLensProvider nil :documentLinkProvider nil :workspaceSymbolProvider t :documentFormattingProvider t :renameProvider t :foldingRangeProvider t :selectionRangeProvider t :executeCommandProvider
	    (:commands
	     ["gopls.add_dependency" "gopls.add_import" "gopls.add_telemetry_counters" "gopls.apply_fix" "gopls.change_signature" "gopls.check_upgrades" "gopls.diagnose_files" "gopls.edit_go_directive" "gopls.fetch_vulncheck_result" "gopls.gc_details" "gopls.generate" "gopls.go_get_package" "gopls.list_imports" "gopls.list_known_packages" "gopls.maybe_prompt_for_telemetry" "gopls.mem_stats" "gopls.regenerate_cgo" "gopls.remove_dependency" "gopls.reset_go_mod_diagnostics" "gopls.run_go_work_command" "gopls.run_govulncheck" "gopls.run_tests" "gopls.start_debugging" "gopls.start_profile" "gopls.stop_profile" "gopls.test" "gopls.tidy" "gopls.toggle_gc_details" "gopls.update_go_sum" "gopls.upgrade_dependency" "gopls.vendor" "gopls.views" "gopls.workspace_stats"])
	    :callHierarchyProvider t :semanticTokensProvider
	    (:legend
	     (:tokenTypes
	      []
	      :tokenModifiers
	      [])
	     :range t :full t)
	    :inlayHintProvider nil :workspace
	    (:workspaceFolders
	     (:supported t :changeNotifications "workspace/didChangeWorkspaceFolders")))
	   :serverInfo
	   (:name "gopls" :version "{\"GoVersion\":\"go1.22.3\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.15.3\",\"Sum\":\"h1:zbdOidFrPTc8Bx0YrN5QKgJ0zCjyGi0L27sKQ/bDG5o=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.2.1\",\"Sum\":\"h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.6.0\",\"Sum\":\"h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20221212164502-fae10dda9338\",\"Sum\":\"h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.15.0\",\"Sum\":\"h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.6.0\",\"Sum\":\"h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/telemetry\",\"Version\":\"v0.0.0-20240209200032-7b892fcb8a78\",\"Sum\":\"h1:vcVnuftN4J4UKLRcgetjzfU9FjjgXUUYUc3JhFplgV4=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.14.0\",\"Sum\":\"h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.18.1-0.20240412183611-d92ae0781217\",\"Sum\":\"h1:uH9jJYgeLCvblH0S+03kFO0qUDxRkbLRLFiKVVDl7ak=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v1.0.1\",\"Sum\":\"h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.4.6\",\"Sum\":\"h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.6.0\",\"Sum\":\"h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.5.0\",\"Sum\":\"h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-buildmode\",\"Value\":\"exe\"},{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"Key\":\"DefaultGODEBUG\",\"Value\":\"httplaxcontentlength=1,httpmuxgo121=1,panicnil=1,tls10server=1,tlsrsakex=1,tlsunsafeekm=1\"},{\"Key\":\"CGO_ENABLED\",\"Value\":\"1\"},{\"Key\":\"CGO_CFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CPPFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_CXXFLAGS\",\"Value\":\"\"},{\"Key\":\"CGO_LDFLAGS\",\"Value\":\"\"},{\"Key\":\"GOARCH\",\"Value\":\"amd64\"},{\"Key\":\"GOOS\",\"Value\":\"linux\"},{\"Key\":\"GOAMD64\",\"Value\":\"v1\"}],\"Version\":\"v0.15.3\"}"))
	  :id 1)
[client-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
							    ()))
[client-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 0 :languageId "go-ts" :text "package main\n\nimport (\n	\"fmt\"\n)\n\nfunc main() {\n	fmt.Println(\"hey, what’s up?\")\n	foo.Bar()\n}\n")))
[client-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/internal/foo/foo.go" :version 0 :languageId "go-ts" :text "package foo\n\nfunc Bar() {}\nfunc Baz() {}\n")))
[client-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
	  (:settings #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
				   ())))
[client-request] (id:2) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :range
	   (:start
	    (:line 0 :character 0)
	    :end
	    (:line 10 :character 0))))
[server-request] (id:1) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "window/workDoneProgress/create" :params
	  (:token "2507239544109948792")
	  :id 1)
[client-reply] (id:1) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 1 :result nil)
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "2507239544109948792" :value
		  (:kind "begin" :title "Setting up workspace" :message "Loading packages...")))
[server-request] (id:2) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "workspace/configuration" :params
	  (:items
	   [(:scopeUri "file:///home/stapelberg/repro-emacs/hello1" :section "gopls")])
	  :id 2)
[client-reply] (id:2) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 2 :result
	  [nil])
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:21:58 go info for /home/stapelberg/repro-emacs/hello1\n(view type GoModView)\n(root dir /home/stapelberg/repro-emacs/hello1)\n(go version go version go1.22.3 linux/amd64)\n(build flags: [])\n(go env: {GOOS:linux GOARCH:amd64 GOCACHE:/home/stapelberg/.cache/go-build GOMODCACHE:/home/stapelberg/go/pkg/mod GOPATH:/home/stapelberg/go GOPRIVATE: GOFLAGS: GO111MODULE: GoVersion:22 GoVersionOutput:go version go1.22.3 linux/amd64\n GOWORK: GOPACKAGESDRIVER:})\n(env overlay: map[])\n\n"))
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:21:58 go/packages.Load #1\n	snapshot=0\n	directory=file:///home/stapelberg/repro-emacs/hello1\n	query=[/home/stapelberg/repro-emacs/hello1/... builtin]\n	packages=3\n"))
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:21:58 go/packages.Load #1: updating metadata for 47 packages\n"))
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "$/progress" :params
	  (:token "2507239544109948792" :value
		  (:kind "end" :message "Finished loading packages.")))
[server-request] (id:3) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "client/registerCapability" :params
	  (:registrations
	   [(:id "workspace/didChangeWatchedFiles-0" :method "workspace/didChangeWatchedFiles" :registerOptions
		 (:watchers
		  [(:globPattern "**/*.{mod,work}" :kind 7)
		   (:globPattern "/home/stapelberg/repro-emacs/hello1/**/*.{go,mod,sum,work}" :kind 7)]))])
	  :id 3)
[client-reply] (id:3) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 3 :result nil)
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :diagnostics
		[(:range
		  (:start
		   (:line 8 :character 1)
		   :end
		   (:line 8 :character 4))
		  :severity 1 :code "UndeclaredName" :codeDescription
		  (:href "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#UndeclaredName")
		  :source "compiler" :message "undefined: foo")]))
[server-request] (id:4) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "workspace/configuration" :params
	  (:items
	   [(:section "gopls")])
	  :id 4)
[client-reply] (id:4) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 4 :result
	  [nil])
[server-request] (id:5) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "workspace/configuration" :params
	  (:items
	   [(:scopeUri "file:///home/stapelberg/repro-emacs/hello1" :section "gopls")])
	  :id 5)
[client-reply] (id:5) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :id 5 :result
	  [nil])
[server-reply] (id:2) Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :result nil :id 2)
[server-notification] Thu Jun 13 14:21:58 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/internal/foo/foo.go" :diagnostics
		[]))
[client-request] (id:3) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :id 3 :method "textDocument/signatureHelp" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 8 :character 10)))
[client-request] (id:4) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :id 4 :method "textDocument/hover" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 8 :character 10)))
[client-request] (id:5) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :id 5 :method "textDocument/documentHighlight" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 8 :character 10)))
[server-reply] (id:3) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :result nil :id 3)
[server-notification] Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 1 :message "2024/06/13 14:21:59 no signature help: cannot find an enclosing function\n	position=8:10\n"))
[server-reply] (id:4) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :result nil :id 4)
[server-reply] (id:5) Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :result
	  []
	  :id 5)
[server-notification] Thu Jun 13 14:21:59 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :diagnostics
		[(:range
		  (:start
		   (:line 8 :character 1)
		   :end
		   (:line 8 :character 4))
		  :severity 1 :code "UndeclaredName" :codeDescription
		  (:href "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#UndeclaredName")
		  :source "compiler" :message "undefined: foo")]))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///home/stapelberg/repro-emacs/hello1/stapelberg@stapelberg01.87532%3A1718262049" :type 1)]))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 1)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 8 :character 10)
	      :end
	      (:line 8 :character 10))
	     :rangeLength 0 :text " ")]))
[client-request] (id:6) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :id 6 :method "textDocument/formatting" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :options
	   (:tabSize 8 :insertSpaces :json-false :insertFinalNewline t :trimFinalNewlines t)))
[server-reply] (id:6) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :result
	  [(:range
	    (:start
	     (:line 8 :character 10)
	     :end
	     (:line 8 :character 11))
	    :newText "")]
	  :id 6)
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 2)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 8 :character 10)
	      :end
	      (:line 8 :character 11))
	     :rangeLength 1 :text "")]))
[client-request] (id:7) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :id 7 :method "textDocument/codeAction" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :range
	   (:start
	    (:line 8 :character 8)
	    :end
	    (:line 8 :character 10))
	   :context
	   (:diagnostics
	    []
	    :only
	    ["source.organizeImports"])))
[server-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 2 :diagnostics
		[(:range
		  (:start
		   (:line 8 :character 1)
		   :end
		   (:line 8 :character 4))
		  :severity 1 :code "UndeclaredName" :codeDescription
		  (:href "https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#UndeclaredName")
		  :source "compiler" :message "undefined: foo")]))
[server-reply] (id:7) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :result
	  [(:title "Organize Imports" :kind "source.organizeImports" :edit
		   (:documentChanges
		    [(:textDocument
		      (:version 2 :uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
		      :edits
		      [(:range
			(:start
			 (:line 3 :character 4)
			 :end
			 (:line 3 :character 4))
			:newText "t\"\n	\"hello/in")
		       (:range
			(:start
			 (:line 3 :character 5)
			 :end
			 (:line 3 :character 5))
			:newText "ernal/foo")])]))]
	  :id 7)
[internal] (id:8) Thu Jun 13 14:22:00 2024:
(:deferring :textDocument/signatureHelp :id 8 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
[internal] (id:9) Thu Jun 13 14:22:00 2024:
(:deferring :textDocument/hover :id 9 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
[internal] (id:10) Thu Jun 13 14:22:00 2024:
(:deferring :textDocument/documentHighlight :id 10 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 4)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 3 :character 5)
	      :end
	      (:line 3 :character 5))
	     :rangeLength 0 :text "ernal/foo")
	    (:range
	     (:start
	      (:line 3 :character 4)
	      :end
	      (:line 3 :character 4))
	     :rangeLength 0 :text "t\"\n	\"hello/in")]))
[internal] Thu Jun 13 14:22:00 2024:
(:maybe-run-deferred
 (10 9 8))
[client-request] (id:10) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :id 10 :method "textDocument/documentHighlight" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-request] (id:9) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :id 9 :method "textDocument/hover" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-request] (id:8) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :id 8 :method "textDocument/signatureHelp" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "textDocument/didSave" :params
	  (:text "package main\n\nimport (\n	\"fmt\"\n	\"hello/internal/foo\"\n)\n\nfunc main() {\n	fmt.Println(\"hey, what’s up?\")\n	foo.Bar()\n}\n" :textDocument
		 (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :type 2)]))
[client-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
	  (:changes
	   [(:uri "file:///home/stapelberg/repro-emacs/hello1/.%23hello1.go" :type 3)]))
[server-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:22:00 go/packages.Load #3\n	snapshot=6\n	directory=file:///home/stapelberg/repro-emacs/hello1\n	query=[file=/home/stapelberg/repro-emacs/hello1/hello1.go]\n	packages=1\n"))
[server-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:22:00 go/packages.Load #3\n	snapshot=6\n	directory=file:///home/stapelberg/repro-emacs/hello1\n	package=\"hello\"\n	files=[/home/stapelberg/repro-emacs/hello1/hello1.go]\n"))
[server-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 3 :message "2024/06/13 14:22:00 go/packages.Load #3: updating metadata for 1 packages\n"))
[server-reply] (id:10) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :result
	  []
	  :id 10)
[server-reply] (id:9) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :result nil :id 9)
[server-reply] (id:8) Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :result nil :id 8)
[server-notification] Thu Jun 13 14:22:00 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 1 :message "2024/06/13 14:22:00 no signature help: cannot find an enclosing function\n	position=9:10\n"))
[client-request] (id:11) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :id 11 :method "textDocument/signatureHelp" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-request] (id:12) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :id 12 :method "textDocument/hover" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-request] (id:13) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :id 13 :method "textDocument/documentHighlight" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :position
	   (:line 9 :character 10)))
[client-request] (id:14) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :id 14 :method "textDocument/inlayHint" :params
	  (:textDocument
	   (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	   :range
	   (:start
	    (:line 3 :character 4)
	    :end
	    (:line 11 :character 0))))
[server-reply] (id:11) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :result nil :id 11)
[server-notification] Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :method "window/logMessage" :params
	  (:type 1 :message "2024/06/13 14:22:01 no signature help: cannot find an enclosing function\n	position=9:10\n"))
[server-reply] (id:12) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :result nil :id 12)
[server-reply] (id:13) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :result
	  []
	  :id 13)
[server-reply] (id:14) Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :result nil :id 14)
[server-notification] Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go" :version 4 :diagnostics
		[]))
[server-notification] Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/stapelberg@stapelberg01.87532:1718262049" :diagnostics
		[]))
[server-notification] Thu Jun 13 14:22:01 2024:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:uri "file:///home/stapelberg/repro-emacs/hello1/.%23hello1.go" :diagnostics
		[]))
[internal] (id:8) Thu Jun 13 14:22:10 2024:
(:timed-out :textDocument/signatureHelp :id 8 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
[internal] (id:9) Thu Jun 13 14:22:10 2024:
(:timed-out :textDocument/hover :id 9 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
[internal] (id:10) Thu Jun 13 14:22:10 2024:
(:timed-out :textDocument/documentHighlight :id 10 :params
	    (:textDocument
	     (:uri "file:///home/stapelberg/repro-emacs/hello1/hello1.go")
	     :position
	     (:line 9 :character 10)))
```