helix-editor / helix

A post-modern modal text editor.
https://helix-editor.com
Mozilla Public License 2.0
34.01k stars 2.51k forks source link

Missing Postfix Completion options from gopls #3424

Closed WhiskeyJack96 closed 1 year ago

WhiskeyJack96 commented 2 years ago

Summary

gopls has several defined "postfix" completions but when using helix I dont see any of the snippet completions from gopls. I can see autocomplete and method completions, and use struct autofill.

Reproduction Steps

I tried this: 1. `hx main.go` ``` package main import "fmt" func main() { fmt.Sprintf("test") return } ``` 3. type .var after `fmt.Sprintf("test")` and I expected this to happen: I expected to have a gopls option for filling in s := fmt.Sprintf("test") with s selected. Instead, this happened: No completion options were shown ### Helix log ~/.cache/helix/helix.log ``` 2022-08-13T17:34:33.968 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"completion":{"completionItem":{"resolveSupport":{"properties":["documentation","detail","additionalTextEdits"]},"snippetSupport":false},"completionItemKind":{}},"hover":{"contentFormat":["markdown"]},"publishDiagnostics":{},"rename":{"dynamicRegistration":false,"honorsChangeAnnotations":false,"prepareSupport":false}},"window":{"workDoneProgress":true},"workspace":{"configuration":true,"didChangeConfiguration":{"dynamicRegistration":false},"workspaceFolders":true}},"processId":30831,"rootPath":"/home/dev/projects/minerva","rootUri":"file:///home/dev/projects/minerva","workspaceFolders":[{"name":"minerva","uri":"file:///home/dev/projects/minerva"}]},"id":0} 2022-08-13T17:34:34.054 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."],"completionItem":{}},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":true,"foldingRangeProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.apply_fix","gopls.check_upgrades","gopls.edit_go_directive","gopls.gc_details","gopls.generate","gopls.generate_gopls_mod","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.regenerate_cgo","gopls.remove_dependency","gopls.run_tests","gopls.run_vulncheck_exp","gopls.start_debugging","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor"]},"callHierarchyProvider":true,"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.19\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.8.4\",\"Sum\":\"h1:zGZsAXAb0LLws/Z+2BCWR17dkPHhIO2GYwYSSkeXX5c=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.0.0\",\"Sum\":\"h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.7\",\"Sum\":\"h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20220218215828-6cf2b201936e\",\"Sum\":\"h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.6.0-dev.0.20220419223038-86c51ed26bb4\",\"Sum\":\"h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.0.0-20210220032951-036812b2e83c\",\"Sum\":\"h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.0.0-20220209214540-3681064d5158\",\"Sum\":\"h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.3.7\",\"Sum\":\"h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.1.11-0.20220513164230-dfee1649af67\",\"Sum\":\"h1:CJwk4qG1fov4WP7/DWhhb7OQVZlQKAl1rEMnDF+ceGU=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v0.0.0-20220503210553-a5481fb0c8be\",\"Sum\":\"h1:jokAF1mfylAi1iTQx7C44B7vyXUcSEMw8eDv0PzNu8s=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.3.0\",\"Sum\":\"h1:2LdYUZ7CIxnYgskbUZfY7FPggmqnh6shBqfWa8Tn3XU=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.3.0\",\"Sum\":\"h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"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.8.4\"}"}},"id":0} 2022-08-13T17:34:34.054 helix_lsp::transport [INFO] <- {"capabilities":{"callHierarchyProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","refactor.extract","refactor.rewrite","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"completionProvider":{"completionItem":{},"triggerCharacters":["."]},"definitionProvider":true,"documentFormattingProvider":true,"documentHighlightProvider":true,"documentLinkProvider":{},"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"documentSymbolProvider":true,"executeCommandProvider":{"commands":["gopls.add_dependency","gopls.add_import","gopls.apply_fix","gopls.check_upgrades","gopls.edit_go_directive","gopls.gc_details","gopls.generate","gopls.generate_gopls_mod","gopls.go_get_package","gopls.list_imports","gopls.list_known_packages","gopls.regenerate_cgo","gopls.remove_dependency","gopls.run_tests","gopls.run_vulncheck_exp","gopls.start_debugging","gopls.test","gopls.tidy","gopls.toggle_gc_details","gopls.update_go_sum","gopls.upgrade_dependency","gopls.vendor"]},"foldingRangeProvider":true,"hoverProvider":true,"implementationProvider":true,"referencesProvider":true,"renameProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"textDocumentSync":{"change":2,"openClose":true,"save":{}},"typeDefinitionProvider":true,"workspace":{"workspaceFolders":{"changeNotifications":"workspace/didChangeWorkspaceFolders","supported":true}},"workspaceSymbolProvider":true},"serverInfo":{"name":"gopls","version":"{\"GoVersion\":\"go1.19\",\"Path\":\"golang.org/x/tools/gopls\",\"Main\":{\"Path\":\"golang.org/x/tools/gopls\",\"Version\":\"v0.8.4\",\"Sum\":\"h1:zGZsAXAb0LLws/Z+2BCWR17dkPHhIO2GYwYSSkeXX5c=\",\"Replace\":null},\"Deps\":[{\"Path\":\"github.com/BurntSushi/toml\",\"Version\":\"v1.0.0\",\"Sum\":\"h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=\",\"Replace\":null},{\"Path\":\"github.com/google/go-cmp\",\"Version\":\"v0.5.7\",\"Sum\":\"h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=\",\"Replace\":null},{\"Path\":\"github.com/sergi/go-diff\",\"Version\":\"v1.1.0\",\"Sum\":\"h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\",\"Replace\":null},{\"Path\":\"golang.org/x/exp/typeparams\",\"Version\":\"v0.0.0-20220218215828-6cf2b201936e\",\"Sum\":\"h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM=\",\"Replace\":null},{\"Path\":\"golang.org/x/mod\",\"Version\":\"v0.6.0-dev.0.20220419223038-86c51ed26bb4\",\"Sum\":\"h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=\",\"Replace\":null},{\"Path\":\"golang.org/x/sync\",\"Version\":\"v0.0.0-20210220032951-036812b2e83c\",\"Sum\":\"h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=\",\"Replace\":null},{\"Path\":\"golang.org/x/sys\",\"Version\":\"v0.0.0-20220209214540-3681064d5158\",\"Sum\":\"h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=\",\"Replace\":null},{\"Path\":\"golang.org/x/text\",\"Version\":\"v0.3.7\",\"Sum\":\"h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=\",\"Replace\":null},{\"Path\":\"golang.org/x/tools\",\"Version\":\"v0.1.11-0.20220513164230-dfee1649af67\",\"Sum\":\"h1:CJwk4qG1fov4WP7/DWhhb7OQVZlQKAl1rEMnDF+ceGU=\",\"Replace\":null},{\"Path\":\"golang.org/x/vuln\",\"Version\":\"v0.0.0-20220503210553-a5481fb0c8be\",\"Sum\":\"h1:jokAF1mfylAi1iTQx7C44B7vyXUcSEMw8eDv0PzNu8s=\",\"Replace\":null},{\"Path\":\"honnef.co/go/tools\",\"Version\":\"v0.3.0\",\"Sum\":\"h1:2LdYUZ7CIxnYgskbUZfY7FPggmqnh6shBqfWa8Tn3XU=\",\"Replace\":null},{\"Path\":\"mvdan.cc/gofumpt\",\"Version\":\"v0.3.0\",\"Sum\":\"h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=\",\"Replace\":null},{\"Path\":\"mvdan.cc/xurls/v2\",\"Version\":\"v2.4.0\",\"Sum\":\"h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=\",\"Replace\":null}],\"Settings\":[{\"Key\":\"-compiler\",\"Value\":\"gc\"},{\"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.8.4\"}"}} 2022-08-13T17:34:34.054 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"initialized","params":{}} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"go","text":"package main\n\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Sprint(\"test\")\n}\n","uri":"file:///home/dev/projects/minerva/main.go","version":0}}} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/workDoneProgress/create","params":{"token":"5577006791947779410"},"id":1} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","result":null,"id":1} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"5577006791947779410","value":{"kind":"begin","title":"Setting up workspace","message":"Loading packages..."}}} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"workspace/configuration","params":{"items":[{"scopeUri":"file:///home/dev/projects/minerva","section":"gopls"}]},"id":2} 2022-08-13T17:34:34.055 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","result":[null],"id":2} 2022-08-13T17:34:34.409 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:34 go env for /home/dev/projects/minerva\n(root /home/dev/projects/minerva)\n(go version go version go1.19 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\nGOWORK=\nGOCACHE=/home/dev/.cache/go-build\nGONOPROXY=\nGONOSUMDB=\nGO111MODULE=\nGOSUMDB=sum.golang.org\nGOMODCACHE=/home/dev/.asdf/installs/golang/1.19/packages/pkg/mod\nGOROOT=/home/dev/.asdf/installs/golang/1.19/go\nGOPROXY=https://proxy.golang.org,direct\nGOMOD=/home/dev/projects/minerva/go.mod\nGOPATH=/home/dev/.asdf/installs/golang/1.19/packages\nGOFLAGS=\nGOINSECURE=\nGOPRIVATE=\n\n"}} 2022-08-13T17:34:34.409 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:34 go env for /home/dev/projects/minerva\n(root /home/dev/projects/minerva)\n(go version go version go1.19 linux/amd64)\n(valid build configuration = true)\n(build flags: [])\nGOWORK=\nGOCACHE=/home/dev/.cache/go-build\nGONOPROXY=\nGONOSUMDB=\nGO111MODULE=\nGOSUMDB=sum.golang.org\nGOMODCACHE=/home/dev/.asdf/installs/golang/1.19/packages/pkg/mod\nGOROOT=/home/dev/.asdf/installs/golang/1.19/go\nGOPROXY=https://proxy.golang.org,direct\nGOMOD=/home/dev/projects/minerva/go.mod\nGOPATH=/home/dev/.asdf/installs/golang/1.19/packages\nGOFLAGS=\nGOINSECURE=\nGOPRIVATE=\n\n" } 2022-08-13T17:34:34.696 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:34 go/packages.Load\n\tsnapshot=0\n\tdirectory=/home/dev/projects/minerva\n\tquery=[builtin github.com/minerva/...]\n\tpackages=5\n"}} 2022-08-13T17:34:34.696 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:34 go/packages.Load\n\tsnapshot=0\n\tdirectory=/home/dev/projects/minerva\n\tquery=[builtin github.com/minerva/...]\n\tpackages=5\n" } 2022-08-13T17:34:34.821 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"$/progress","params":{"token":"5577006791947779410","value":{"kind":"end","message":"Finished loading packages."}}} 2022-08-13T17:34:35.057 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/go/src/runtime/vdso_linux.go:53:38: invalid operation: division by zero /home/dev/.asdf/installs/golang/1.19/go/src/runtime/vdso_linux.go:54:38: invalid operation: division by zero] or still-missing identifiers: map[memRecordCycle:true pageBits:true]\n\tpackage=\"runtime\"\n"}} 2022-08-13T17:34:35.057 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/go/src/runtime/vdso_linux.go:53:38: invalid operation: division by zero /home/dev/.asdf/installs/golang/1.19/go/src/runtime/vdso_linux.go:54:38: invalid operation: division by zero] or still-missing identifiers: map[memRecordCycle:true pageBits:true]\n\tpackage=\"runtime\"\n" } 2022-08-13T17:34:35.127 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:195:19: int not declared by package C /home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:198:27: cannot convert C._SC_GETPW_R_SIZE_MAX (untyped int constant 70) to bufferKind /home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:199:27: cannot convert C._SC_GETGR_R_SIZE_MAX (untyped int constant 69) to bufferKind] or still-missing identifiers: map[]\n\tpackage=\"os/user\"\n"}} 2022-08-13T17:34:35.127 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:195:19: int not declared by package C /home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:198:27: cannot convert C._SC_GETPW_R_SIZE_MAX (untyped int constant 70) to bufferKind /home/dev/.asdf/installs/golang/1.19/go/src/os/user/cgo_lookup_unix.go:199:27: cannot convert C._SC_GETGR_R_SIZE_MAX (untyped int constant 69) to bufferKind] or still-missing identifiers: map[]\n\tpackage=\"os/user\"\n" } 2022-08-13T17:34:35.129 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[options:true]\n\tpackage=\"golang.org/x/text/unicode/bidi\"\n"}} 2022-08-13T17:34:35.129 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[options:true]\n\tpackage=\"golang.org/x/text/unicode/bidi\"\n" } 2022-08-13T17:34:35.131 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[nistPoint:true]\n\tpackage=\"crypto/elliptic\"\n"}} 2022-08-13T17:34:35.131 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[cardinality:true kind:true syntax:true value:true]\n\tpackage=\"google.golang.org/protobuf/reflect/protoreflect\"\n"}} 2022-08-13T17:34:35.131 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[options:true]\n\tpackage=\"vendor/golang.org/x/text/unicode/bidi\"\n"}} 2022-08-13T17:34:35.131 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[nistPoint:true]\n\tpackage=\"crypto/elliptic\"\n" } 2022-08-13T17:34:35.131 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[cardinality:true kind:true syntax:true value:true]\n\tpackage=\"google.golang.org/protobuf/reflect/protoreflect\"\n" } 2022-08-13T17:34:35.131 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[options:true]\n\tpackage=\"vendor/golang.org/x/text/unicode/bidi\"\n" } 2022-08-13T17:34:35.135 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[term:true]\n\tpackage=\"go/types\"\n"}} 2022-08-13T17:34:35.135 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[term:true]\n\tpackage=\"go/types\"\n" } 2022-08-13T17:34:35.158 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[unknownFieldsA:true]\n\tpackage=\"google.golang.org/protobuf/internal/impl\"\n"}} 2022-08-13T17:34:35.158 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[unknownFieldsA:true]\n\tpackage=\"google.golang.org/protobuf/internal/impl\"\n" } 2022-08-13T17:34:35.167 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 discovered missing identifiers: map[cpuMask:true]\n\tpackage=\"golang.org/x/sys/unix\"\n"}} 2022-08-13T17:34:35.167 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 discovered missing identifiers: map[cpuMask:true]\n\tpackage=\"golang.org/x/sys/unix\"\n" } 2022-08-13T17:34:35.172 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/client.go:39:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/connect.go:126:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/connect.go:181:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:36:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:86:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:109:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:137:6: parameterized function is missing function body] or still-missing identifiers: map[]\n\tpackage=\"github.com/bufbuild/connect-go\"\n"}} 2022-08-13T17:34:35.172 helix_term::application [INFO] window/logMessage: LogMessageParams { typ: Info, message: "2022/08/13 17:34:35 falling back to safe trimming due to type errors: [/home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/client.go:39:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/connect.go:126:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/connect.go:181:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:36:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:86:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:109:6: parameterized function is missing function body /home/dev/.asdf/installs/golang/1.19/packages/pkg/mod/github.com/bufbuild/connect-go@v0.3.0/handler.go:137:6: parameterized function is missing function body] or still-missing identifiers: map[]\n\tpackage=\"github.com/bufbuild/connect-go\"\n" } 2022-08-13T17:34:35.238 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/bak.go","diagnostics":[{"range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block (this error: other declaration of main)","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/main.go","range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}}},"message":"main redeclared in this block"},{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main (this error)"}]}]}} 2022-08-13T17:34:35.238 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]}]}} 2022-08-13T17:34:35.382 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/api/api.go","diagnostics":[{"range":{"start":{"line":23,"character":0},"end":{"line":23,"character":0}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found 'return'"}]}} 2022-08-13T17:34:41.714 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":19,"line":5},"start":{"character":19,"line":5}},"text":"."}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":1}}} 2022-08-13T17:34:41.714 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":20,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":1} 2022-08-13T17:34:41.719 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":1,"diagnostics":[{"range":{"start":{"line":5,"character":21},"end":{"line":5,"character":21}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}} 2022-08-13T17:34:41.719 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":1} 2022-08-13T17:34:41.719 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:42.698 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":20,"line":5},"start":{"character":20,"line":5}},"text":"v"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":2}}} 2022-08-13T17:34:42.703 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":2,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":21}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").v undefined (type string has no field or method v)"}]}} 2022-08-13T17:34:42.791 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":21,"line":5},"start":{"character":21,"line":5}},"text":"a"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":3}}} 2022-08-13T17:34:42.796 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":3,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":22}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").va undefined (type string has no field or method va)"}]}} 2022-08-13T17:34:43.015 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":22,"line":5},"start":{"character":22,"line":5}},"text":"r"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":4}}} 2022-08-13T17:34:43.019 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":4,"diagnostics":[{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":20}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found 'var'"}]}} 2022-08-13T17:34:43.415 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":23,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":2} 2022-08-13T17:34:43.416 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":2} 2022-08-13T17:34:43.416 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:46.466 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":23,"line":5},"start":{"character":22,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":5}}} 2022-08-13T17:34:46.471 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":5,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":22}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").va undefined (type string has no field or method va)"}]}} 2022-08-13T17:34:46.644 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":22,"line":5},"start":{"character":21,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":6}}} 2022-08-13T17:34:46.648 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":6,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":21}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").v undefined (type string has no field or method v)"}]}} 2022-08-13T17:34:46.822 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":21,"line":5},"start":{"character":20,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":7}}} 2022-08-13T17:34:46.826 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":7,"diagnostics":[{"range":{"start":{"line":5,"character":21},"end":{"line":5,"character":21}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}} 2022-08-13T17:34:47.004 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":20,"line":5},"start":{"character":19,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":8}}} 2022-08-13T17:34:47.008 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":8,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]}]}} 2022-08-13T17:34:47.289 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":19,"line":5},"start":{"character":19,"line":5}},"text":"."}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":9}}} 2022-08-13T17:34:47.289 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":20,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":3} 2022-08-13T17:34:47.293 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":9,"diagnostics":[{"range":{"start":{"line":5,"character":21},"end":{"line":5,"character":21}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}} 2022-08-13T17:34:47.293 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":3} 2022-08-13T17:34:47.293 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:48.123 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":20,"line":5},"start":{"character":19,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":10}}} 2022-08-13T17:34:48.128 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":10,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]}]}} 2022-08-13T17:34:48.262 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":19,"line":5},"start":{"character":19,"line":5}},"text":"."}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":11}}} 2022-08-13T17:34:48.262 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":20,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":4} 2022-08-13T17:34:48.266 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":11,"diagnostics":[{"range":{"start":{"line":5,"character":21},"end":{"line":5,"character":21}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}} 2022-08-13T17:34:48.266 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":4} 2022-08-13T17:34:48.267 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:48.825 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":20,"line":5},"start":{"character":19,"line":5}},"text":""}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":12}}} 2022-08-13T17:34:48.830 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":12,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]}]}} 2022-08-13T17:34:49.157 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":19,"line":5},"start":{"character":19,"line":5}},"text":"."}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":13}}} 2022-08-13T17:34:49.158 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":20,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":5} 2022-08-13T17:34:49.162 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":5} 2022-08-13T17:34:49.162 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:49.162 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":13,"diagnostics":[{"range":{"start":{"line":5,"character":21},"end":{"line":5,"character":21}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found '}'"}]}} 2022-08-13T17:34:49.375 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":20,"line":5},"start":{"character":20,"line":5}},"text":"v"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":14}}} 2022-08-13T17:34:49.380 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":14,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":21}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").v undefined (type string has no field or method v)"}]}} 2022-08-13T17:34:49.468 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":21,"line":5},"start":{"character":21,"line":5}},"text":"a"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":15}}} 2022-08-13T17:34:49.472 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":15,"diagnostics":[{"range":{"start":{"line":4,"character":5},"end":{"line":4,"character":9}},"severity":1,"code":"DuplicateDecl","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#DuplicateDecl"},"source":"compiler","message":"main redeclared in this block","relatedInformation":[{"location":{"uri":"file:///home/dev/projects/minerva/bak.go","range":{"start":{"line":7,"character":5},"end":{"line":7,"character":9}}},"message":"other declaration of main"}]},{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":22}},"severity":1,"code":"MissingFieldOrMethod","codeDescription":{"href":"https://pkg.go.dev/golang.org/x/tools/internal/typesinternal?utm_source=gopls#MissingFieldOrMethod"},"source":"compiler","message":"fmt.Sprint(\"test\").va undefined (type string has no field or method va)"}]}} 2022-08-13T17:34:49.588 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"range":{"end":{"character":22,"line":5},"start":{"character":22,"line":5}},"text":"r"}],"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go","version":16}}} 2022-08-13T17:34:49.593 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///home/dev/projects/minerva/main.go","version":16,"diagnostics":[{"range":{"start":{"line":5,"character":20},"end":{"line":5,"character":20}},"severity":1,"source":"syntax","message":"expected selector or type assertion, found 'var'"}]}} 2022-08-13T17:34:49.990 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"textDocument/completion","params":{"position":{"character":23,"line":5},"textDocument":{"uri":"file:///home/dev/projects/minerva/main.go"}},"id":6} 2022-08-13T17:34:49.991 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":{"isIncomplete":true,"itemDefaults":{"editRange":{"start":{"line":0,"character":0},"end":{"line":0,"character":0}}},"items":[]},"id":6} 2022-08-13T17:34:49.991 helix_lsp::transport [INFO] <- {"isIncomplete":true,"itemDefaults":{"editRange":{"end":{"character":0,"line":0},"start":{"character":0,"line":0}}},"items":[]} 2022-08-13T17:34:53.255 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"shutdown","params":null,"id":7} 2022-08-13T17:34:53.255 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","result":null,"id":7} 2022-08-13T17:34:53.255 helix_lsp::transport [INFO] <- null 2022-08-13T17:34:53.255 helix_lsp::transport [INFO] -> {"jsonrpc":"2.0","method":"exit","params":null} 2022-08-13T17:34:53.255 helix_lsp::transport [INFO] <- {"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2022/08/13 17:34:53 Shutdown session\n\tshutdown_session=1\n"}} ``` ### Platform Windows (wsl) ### Terminal Emulator Windows Terminal ### Helix Version helix 22.05 (27609f50)
the-mikedavis commented 2 years ago

I dont see any of the snippet completions from gopls

Do you know if these are sent as LSP snippets? Snippets are not yet implemented: https://github.com/helix-editor/helix/issues/395

If they're sent as regular completion items, this may be https://github.com/helix-editor/helix/issues/3084

poliorcetics commented 2 years ago

This is also the case for rust-analyzer with <expr>.dbg to wrap code in dbg!(<expr>), which may be a snippet too

WhiskeyJack96 commented 2 years ago

Hmm I'm not sure if they're technically LSP snippets or not. I'm not able to reproduce but at one point I did get them to show up momentarily so perhaps the gopls ones aren't?

gabydd commented 1 year ago

gopls postfix completions are snippets: https://github.com/golang/tools/blob/master/gopls/internal/lsp/source/completion/postfix_snippets.go and they seem to work properly on master. You can try them out in a go file by typing something like: a.print then pressing tab and then enter if you have a variable named a defined