I did reset all go related settings in the editor after noticing first the first time completion
/suggestion/autoimport didn’t work. The remaining settings left (for those debug traces) are:
On a large project (hello world completion works on the same machine), gopls/vscode extension stops suggesting anything. One of those is for instance https://github.com/ubuntu/authd, but it’s not limited to it on my setup.
In the following reproducible step, I’m trying to request completion from an App struct instance to get its field. This is the same for anything else (methods or functions completion), refactoring, auto importing…
Note that the project is successfully building. If I run go build ./cmd/authd/, there is no error and the binary is produced.
I also tried to remove the gopls and go entire cache in my HOME directory, and having gopls rebuilt (then, with the default go version on the system, which is 1.21.3, which is autoupdate to 1.22.1 inside this project)
[Trace - 07:59:09.260 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":30},"contentChanges":[{"range":{"start":{"line":47,"character":37},"end":{"line":47,"character":37}},"rangeLength":0,"text":"\n\t"}]}
[Trace - 07:59:09.286 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":30,"diagnostics":[]}
[Trace - 07:59:09.412 AM] Sending request 'textDocument/semanticTokens/range - (220)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":14,"character":0},"end":{"line":96,"character":0}}}
[Error - Received] 07:59:09.412 AM golang/vscode-go#220 semantictokens are disabled
[Error - 07:59:09] Request textDocument/semanticTokens/range failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:09.580 AM] Sending request 'textDocument/codeAction - (221)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":1}},"context":{"diagnostics":[],"triggerKind":2}}
[Trace - 07:59:09.581 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2024/04/03 07:59:09 fixImports(filename=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\"), abs=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\", srcDir=\"/home/didrocks/work/authd/cmd/authd/daemon\" ...\n"}
[Trace - 07:59:09.581 AM] Sending request 'textDocument/foldingRange - (222)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Info - 07:59:09] 2024/04/03 07:59:09 fixImports(filename="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go"), abs="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go", srcDir="/home/didrocks/work/authd/cmd/authd/daemon" ...
[Trace - 07:59:09.583 AM] Received response 'textDocument/codeAction - (221)' in 3ms.
Result: null
[Trace - 07:59:09.584 AM] Received response 'textDocument/foldingRange - (222)' in 2ms.
Result: [{"startLine":3,"startCharacter":8,"endLine":14,"endCharacter":29,"kind":"imports"},{"startLine":21,"startCharacter":17,"endLine":28,"endCharacter":20},{"startLine":32,"startCharacter":25,"endLine":35,"endCharacter":19},{"startLine":39,"startCharacter":26,"endLine":42,"endCharacter":22},{"startLine":46,"startCharacter":17,"endLine":97,"endCharacter":10},{"startLine":49,"startCharacter":27,"endLine":85,"endCharacter":21},{"startLine":54,"startCharacter":68,"endLine":79,"endCharacter":13},{"startLine":60,"startCharacter":27,"endLine":65,"endCharacter":5},{"startLine":61,"startCharacter":23,"endLine":64,"endCharacter":20},{"startLine":69,"startCharacter":72,"endLine":70,"endCharacter":14},{"startLine":72,"startCharacter":55,"endLine":73,"endCharacter":76},{"startLine":81,"startCharacter":55,"endLine":82,"endCharacter":27},{"startLine":101,"startCharacter":48,"endLine":133,"endCharacter":25},{"startLine":105,"startCharacter":59,"endLine":107,"endCharacter":82},{"startLine":111,"startCharacter":16,"endLine":113,"endCharacter":12},{"startLine":120,"startCharacter":22,"endLine":121,"endCharacter":68},{"startLine":125,"startCharacter":16,"endLine":127,"endCharacter":12},{"startLine":137,"startCharacter":72,"endLine":140,"endCharacter":9},{"startLine":144,"startCharacter":27,"endLine":145,"endCharacter":27},{"startLine":149,"startCharacter":32,"endLine":150,"endCharacter":31},{"startLine":154,"startCharacter":38,"endLine":158,"endCharacter":13},{"startLine":162,"startCharacter":22,"endLine":167,"endCharacter":43},{"startLine":164,"startCharacter":21,"endLine":165,"endCharacter":8},{"startLine":170,"startCharacter":45,"endLine":171,"endCharacter":119,"kind":"comment"},{"startLine":172,"startCharacter":27,"endLine":173,"endCharacter":10},{"startLine":177,"startCharacter":38,"endLine":178,"endCharacter":17}]
[Trace - 07:59:09.618 AM] Sending request 'textDocument/documentSymbol - (223)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:09.619 AM] Received response 'textDocument/documentSymbol - (223)' in 0ms.
Result: [{"name":"cmdName","kind":14,"range":{"start":{"line":18,"character":6},"end":{"line":18,"character":23}},"selectionRange":{"start":{"line":18,"character":6},"end":{"line":18,"character":13}}},{"name":"App","detail":"struct{...}","kind":23,"range":{"start":{"line":21,"character":5},"end":{"line":29,"character":1}},"selectionRange":{"start":{"line":21,"character":5},"end":{"line":21,"character":8}},"children":[{"name":"rootCmd","detail":"cobra.Command","kind":8,"range":{"start":{"line":22,"character":1},"end":{"line":22,"character":22}},"selectionRange":{"start":{"line":22,"character":1},"end":{"line":22,"character":8}}},{"name":"viper","detail":"*viper.Viper","kind":8,"range":{"start":{"line":23,"character":1},"end":{"line":23,"character":21}},"selectionRange":{"start":{"line":23,"character":1},"end":{"line":23,"character":6}}},{"name":"config","detail":"daemonConfig","kind":8,"range":{"start":{"line":24,"character":1},"end":{"line":24,"character":21}},"selectionRange":{"start":{"line":24,"character":1},"end":{"line":24,"character":7}}},{"name":"daemon","detail":"*daemon.Daemon","kind":8,"range":{"start":{"line":26,"character":1},"end":{"line":26,"character":22}},"selectionRange":{"start":{"line":26,"character":1},"end":{"line":26,"character":7}}},{"name":"ready","detail":"chan struct{}","kind":8,"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":20}},"selectionRange":{"start":{"line":28,"character":1},"end":{"line":28,"character":6}}}]},{"name":"systemPaths","detail":"struct{...}","kind":23,"range":{"start":{"line":32,"character":5},"end":{"line":36,"character":1}},"selectionRange":{"start":{"line":32,"character":5},"end":{"line":32,"character":16}},"children":[{"name":"BrokersConf","detail":"string","kind":8,"range":{"start":{"line":33,"character":1},"end":{"line":33,"character":19}},"selectionRange":{"start":{"line":33,"character":1},"end":{"line":33,"character":12}}},{"name":"Cache","detail":"string","kind":8,"range":{"start":{"line":34,"character":1},"end":{"line":34,"character":19}},"selectionRange":{"start":{"line":34,"character":1},"end":{"line":34,"character":6}}},{"name":"Socket","detail":"string","kind":8,"range":{"start":{"line":35,"character":1},"end":{"line":35,"character":19}},"selectionRange":{"start":{"line":35,"character":1},"end":{"line":35,"character":7}}}]},{"name":"daemonConfig","detail":"struct{...}","kind":23,"range":{"start":{"line":39,"character":5},"end":{"line":43,"character":1}},"selectionRange":{"start":{"line":39,"character":5},"end":{"line":39,"character":17}},"children":[{"name":"Brokers","detail":"[]string","kind":8,"range":{"start":{"line":40,"character":1},"end":{"line":40,"character":19}},"selectionRange":{"start":{"line":40,"character":1},"end":{"line":40,"character":8}}},{"name":"Verbosity","detail":"int","kind":8,"range":{"start":{"line":41,"character":1},"end":{"line":41,"character":14}},"selectionRange":{"start":{"line":41,"character":1},"end":{"line":41,"character":10}}},{"name":"Paths","detail":"systemPaths","kind":8,"range":{"start":{"line":42,"character":1},"end":{"line":42,"character":22}},"selectionRange":{"start":{"line":42,"character":1},"end":{"line":42,"character":6}}}]},{"name":"New","detail":"func() *App","kind":12,"range":{"start":{"line":46,"character":0},"end":{"line":98,"character":1}},"selectionRange":{"start":{"line":46,"character":5},"end":{"line":46,"character":8}}},{"name":"(*App).serve","detail":"func(config daemonConfig) error","kind":6,"range":{"start":{"line":101,"character":0},"end":{"line":134,"character":1}},"selectionRange":{"start":{"line":101,"character":14},"end":{"line":101,"character":19}}},{"name":"installVerbosityFlag","detail":"func(cmd *cobra.Command, viper *viper.Viper) *int","kind":12,"range":{"start":{"line":137,"character":0},"end":{"line":141,"character":1}},"selectionRange":{"start":{"line":137,"character":5},"end":{"line":137,"character":25}}},{"name":"(*App).Run","detail":"func() error","kind":6,"range":{"start":{"line":144,"character":0},"end":{"line":146,"character":1}},"selectionRange":{"start":{"line":144,"character":14},"end":{"line":144,"character":17}}},{"name":"(App).UsageError","detail":"func() bool","kind":6,"range":{"start":{"line":149,"character":0},"end":{"line":151,"character":1}},"selectionRange":{"start":{"line":149,"character":13},"end":{"line":149,"character":23}}},{"name":"(App).Hup","detail":"func() (shouldQuit bool)","kind":6,"range":{"start":{"line":154,"character":0},"end":{"line":159,"character":1}},"selectionRange":{"start":{"line":154,"character":13},"end":{"line":154,"character":16}}},{"name":"(*App).Quit","detail":"func()","kind":6,"range":{"start":{"line":162,"character":0},"end":{"line":168,"character":1}},"selectionRange":{"start":{"line":162,"character":14},"end":{"line":162,"character":18}}},{"name":"(*App).WaitReady","detail":"func()","kind":6,"range":{"start":{"line":172,"character":0},"end":{"line":174,"character":1}},"selectionRange":{"start":{"line":172,"character":14},"end":{"line":172,"character":23}}},{"name":"(App).RootCmd","detail":"func() cobra.Command","kind":6,"range":{"start":{"line":177,"character":0},"end":{"line":179,"character":1}},"selectionRange":{"start":{"line":177,"character":13},"end":{"line":177,"character":20}}}]
[Trace - 07:59:09.637 AM] Sending request 'textDocument/codeLens - (224)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:09.638 AM] Received response 'textDocument/codeLens - (224)' in 0ms.
Result: null
[Trace - 07:59:09.710 AM] Sending request 'textDocument/semanticTokens/full - (225)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Error - Received] 07:59:09.710 AM golang/vscode-go#225 semantictokens are disabled
[Error - 07:59:09] Request textDocument/semanticTokens/full failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:09.788 AM] Sending request 'textDocument/documentSymbol - (226)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:09.788 AM] Received response 'textDocument/documentSymbol - (226)' in 0ms.
Result: [{"name":"cmdName","kind":14,"range":{"start":{"line":18,"character":6},"end":{"line":18,"character":23}},"selectionRange":{"start":{"line":18,"character":6},"end":{"line":18,"character":13}}},{"name":"App","detail":"struct{...}","kind":23,"range":{"start":{"line":21,"character":5},"end":{"line":29,"character":1}},"selectionRange":{"start":{"line":21,"character":5},"end":{"line":21,"character":8}},"children":[{"name":"rootCmd","detail":"cobra.Command","kind":8,"range":{"start":{"line":22,"character":1},"end":{"line":22,"character":22}},"selectionRange":{"start":{"line":22,"character":1},"end":{"line":22,"character":8}}},{"name":"viper","detail":"*viper.Viper","kind":8,"range":{"start":{"line":23,"character":1},"end":{"line":23,"character":21}},"selectionRange":{"start":{"line":23,"character":1},"end":{"line":23,"character":6}}},{"name":"config","detail":"daemonConfig","kind":8,"range":{"start":{"line":24,"character":1},"end":{"line":24,"character":21}},"selectionRange":{"start":{"line":24,"character":1},"end":{"line":24,"character":7}}},{"name":"daemon","detail":"*daemon.Daemon","kind":8,"range":{"start":{"line":26,"character":1},"end":{"line":26,"character":22}},"selectionRange":{"start":{"line":26,"character":1},"end":{"line":26,"character":7}}},{"name":"ready","detail":"chan struct{}","kind":8,"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":20}},"selectionRange":{"start":{"line":28,"character":1},"end":{"line":28,"character":6}}}]},{"name":"systemPaths","detail":"struct{...}","kind":23,"range":{"start":{"line":32,"character":5},"end":{"line":36,"character":1}},"selectionRange":{"start":{"line":32,"character":5},"end":{"line":32,"character":16}},"children":[{"name":"BrokersConf","detail":"string","kind":8,"range":{"start":{"line":33,"character":1},"end":{"line":33,"character":19}},"selectionRange":{"start":{"line":33,"character":1},"end":{"line":33,"character":12}}},{"name":"Cache","detail":"string","kind":8,"range":{"start":{"line":34,"character":1},"end":{"line":34,"character":19}},"selectionRange":{"start":{"line":34,"character":1},"end":{"line":34,"character":6}}},{"name":"Socket","detail":"string","kind":8,"range":{"start":{"line":35,"character":1},"end":{"line":35,"character":19}},"selectionRange":{"start":{"line":35,"character":1},"end":{"line":35,"character":7}}}]},{"name":"daemonConfig","detail":"struct{...}","kind":23,"range":{"start":{"line":39,"character":5},"end":{"line":43,"character":1}},"selectionRange":{"start":{"line":39,"character":5},"end":{"line":39,"character":17}},"children":[{"name":"Brokers","detail":"[]string","kind":8,"range":{"start":{"line":40,"character":1},"end":{"line":40,"character":19}},"selectionRange":{"start":{"line":40,"character":1},"end":{"line":40,"character":8}}},{"name":"Verbosity","detail":"int","kind":8,"range":{"start":{"line":41,"character":1},"end":{"line":41,"character":14}},"selectionRange":{"start":{"line":41,"character":1},"end":{"line":41,"character":10}}},{"name":"Paths","detail":"systemPaths","kind":8,"range":{"start":{"line":42,"character":1},"end":{"line":42,"character":22}},"selectionRange":{"start":{"line":42,"character":1},"end":{"line":42,"character":6}}}]},{"name":"New","detail":"func() *App","kind":12,"range":{"start":{"line":46,"character":0},"end":{"line":98,"character":1}},"selectionRange":{"start":{"line":46,"character":5},"end":{"line":46,"character":8}}},{"name":"(*App).serve","detail":"func(config daemonConfig) error","kind":6,"range":{"start":{"line":101,"character":0},"end":{"line":134,"character":1}},"selectionRange":{"start":{"line":101,"character":14},"end":{"line":101,"character":19}}},{"name":"installVerbosityFlag","detail":"func(cmd *cobra.Command, viper *viper.Viper) *int","kind":12,"range":{"start":{"line":137,"character":0},"end":{"line":141,"character":1}},"selectionRange":{"start":{"line":137,"character":5},"end":{"line":137,"character":25}}},{"name":"(*App).Run","detail":"func() error","kind":6,"range":{"start":{"line":144,"character":0},"end":{"line":146,"character":1}},"selectionRange":{"start":{"line":144,"character":14},"end":{"line":144,"character":17}}},{"name":"(App).UsageError","detail":"func() bool","kind":6,"range":{"start":{"line":149,"character":0},"end":{"line":151,"character":1}},"selectionRange":{"start":{"line":149,"character":13},"end":{"line":149,"character":23}}},{"name":"(App).Hup","detail":"func() (shouldQuit bool)","kind":6,"range":{"start":{"line":154,"character":0},"end":{"line":159,"character":1}},"selectionRange":{"start":{"line":154,"character":13},"end":{"line":154,"character":16}}},{"name":"(*App).Quit","detail":"func()","kind":6,"range":{"start":{"line":162,"character":0},"end":{"line":168,"character":1}},"selectionRange":{"start":{"line":162,"character":14},"end":{"line":162,"character":18}}},{"name":"(*App).WaitReady","detail":"func()","kind":6,"range":{"start":{"line":172,"character":0},"end":{"line":174,"character":1}},"selectionRange":{"start":{"line":172,"character":14},"end":{"line":172,"character":23}}},{"name":"(App).RootCmd","detail":"func() cobra.Command","kind":6,"range":{"start":{"line":177,"character":0},"end":{"line":179,"character":1}},"selectionRange":{"start":{"line":177,"character":13},"end":{"line":177,"character":20}}}]
[Trace - 07:59:10.501 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":31},"contentChanges":[{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":1}},"rangeLength":0,"text":"a"}]}
[Trace - 07:59:10.532 AM] Sending request 'textDocument/completion - (227)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"position":{"line":48,"character":2},"context":{"triggerKind":1}}
[Trace - 07:59:10.535 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":31,"diagnostics":[]}
[Trace - 07:59:10.538 AM] Received response 'textDocument/completion - (227)' in 5ms.
Result: {"isIncomplete":true,"items":[{"label":"any","kind":8,"documentation":{"kind":"markdown","value":""},"preselect":true,"sortText":"00000","filterText":"any","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"any"}},{"label":"append","kind":3,"detail":"func(slice []Type, elems ...Type) []Type","documentation":{"kind":"markdown","value":""},"sortText":"00001","filterText":"append","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"append(${1:})"}},{"label":"adler32","kind":9,"detail":"\"hash/adler32\"","documentation":{"kind":"markdown","value":""},"sortText":"00002","filterText":"adler32","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"adler32"},"additionalTextEdits":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":5}},"newText":"\"\n\t\"hash/adler32"}]},{"label":"aes","kind":9,"detail":"\"crypto/aes\"","documentation":{"kind":"markdown","value":""},"sortText":"00003","filterText":"aes","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"aes"},"additionalTextEdits":[{"range":{"start":{"line":4,"character":8},"end":{"line":4,"character":8}},"newText":"t\"\n\t\"cryp"},{"range":{"start":{"line":4,"character":9},"end":{"line":4,"character":9}},"newText":"o/aes"}]},{"label":"asn1","kind":9,"detail":"\"encoding/asn1\"","documentation":{"kind":"markdown","value":""},"sortText":"00004","filterText":"asn1","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"asn1"},"additionalTextEdits":[{"range":{"start":{"line":4,"character":9},"end":{"line":4,"character":9}},"newText":"\"\n\t\"encoding/asn1"}]},{"label":"atomic","kind":9,"detail":"\"sync/atomic\"","documentation":{"kind":"markdown","value":""},"sortText":"00005","filterText":"atomic","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"atomic"},"additionalTextEdits":[{"range":{"start":{"line":6,"character":9},"end":{"line":6,"character":9}},"newText":"\"\n\t\"sync/atomic"}]},{"label":"authd","kind":9,"detail":"\"github.com/ubuntu/authd\"","documentation":{"kind":"markdown","value":""},"sortText":"00006","filterText":"authd","insertTextFormat":2,"textEdit":{"range":{"start":{"line":48,"character":1},"end":{"line":48,"character":2}},"newText":"authd"},"additionalTextEdits":[{"range":{"start":{"line":9,"character":24},"end":{"line":9,"character":24}},"newText":"\"\n\t\"github.com/ubuntu/authd"}]}]}
[Trace - 07:59:10.651 AM] Sending request 'textDocument/semanticTokens/range - (228)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":14,"character":0},"end":{"line":96,"character":0}}}
[Error - Received] 07:59:10.651 AM golang/vscode-go#228 semantictokens are disabled
[Error - 07:59:10] Request textDocument/semanticTokens/range failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:10.751 AM] Sending request 'textDocument/codeAction - (229)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":48,"character":2},"end":{"line":48,"character":2}},"context":{"diagnostics":[],"triggerKind":2}}
[Trace - 07:59:10.752 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2024/04/03 07:59:10 fixImports(filename=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\"), abs=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\", srcDir=\"/home/didrocks/work/authd/cmd/authd/daemon\" ...\n"}
[Trace - 07:59:10.753 AM] Received response 'textDocument/codeAction - (229)' in 1ms.
Result: null
[Info - 07:59:10] 2024/04/03 07:59:10 fixImports(filename="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go"), abs="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go", srcDir="/home/didrocks/work/authd/cmd/authd/daemon" ...
[Trace - 07:59:10.801 AM] Sending request 'textDocument/foldingRange - (230)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:10.801 AM] Received response 'textDocument/foldingRange - (230)' in 0ms.
Result: [{"startLine":3,"startCharacter":8,"endLine":14,"endCharacter":29,"kind":"imports"},{"startLine":21,"startCharacter":17,"endLine":28,"endCharacter":20},{"startLine":32,"startCharacter":25,"endLine":35,"endCharacter":19},{"startLine":39,"startCharacter":26,"endLine":42,"endCharacter":22},{"startLine":46,"startCharacter":17,"endLine":97,"endCharacter":10},{"startLine":49,"startCharacter":27,"endLine":85,"endCharacter":21},{"startLine":54,"startCharacter":68,"endLine":79,"endCharacter":13},{"startLine":60,"startCharacter":27,"endLine":65,"endCharacter":5},{"startLine":61,"startCharacter":23,"endLine":64,"endCharacter":20},{"startLine":69,"startCharacter":72,"endLine":70,"endCharacter":14},{"startLine":72,"startCharacter":55,"endLine":73,"endCharacter":76},{"startLine":81,"startCharacter":55,"endLine":82,"endCharacter":27},{"startLine":101,"startCharacter":48,"endLine":133,"endCharacter":25},{"startLine":105,"startCharacter":59,"endLine":107,"endCharacter":82},{"startLine":111,"startCharacter":16,"endLine":113,"endCharacter":12},{"startLine":120,"startCharacter":22,"endLine":121,"endCharacter":68},{"startLine":125,"startCharacter":16,"endLine":127,"endCharacter":12},{"startLine":137,"startCharacter":72,"endLine":140,"endCharacter":9},{"startLine":144,"startCharacter":27,"endLine":145,"endCharacter":27},{"startLine":149,"startCharacter":32,"endLine":150,"endCharacter":31},{"startLine":154,"startCharacter":38,"endLine":158,"endCharacter":13},{"startLine":162,"startCharacter":22,"endLine":167,"endCharacter":43},{"startLine":164,"startCharacter":21,"endLine":165,"endCharacter":8},{"startLine":170,"startCharacter":45,"endLine":171,"endCharacter":119,"kind":"comment"},{"startLine":172,"startCharacter":27,"endLine":173,"endCharacter":10},{"startLine":177,"startCharacter":38,"endLine":178,"endCharacter":17}]
[Trace - 07:59:10.861 AM] Sending request 'textDocument/documentSymbol - (231)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:10.862 AM] Received response 'textDocument/documentSymbol - (231)' in 1ms.
Result: [{"name":"cmdName","kind":14,"range":{"start":{"line":18,"character":6},"end":{"line":18,"character":23}},"selectionRange":{"start":{"line":18,"character":6},"end":{"line":18,"character":13}}},{"name":"App","detail":"struct{...}","kind":23,"range":{"start":{"line":21,"character":5},"end":{"line":29,"character":1}},"selectionRange":{"start":{"line":21,"character":5},"end":{"line":21,"character":8}},"children":[{"name":"rootCmd","detail":"cobra.Command","kind":8,"range":{"start":{"line":22,"character":1},"end":{"line":22,"character":22}},"selectionRange":{"start":{"line":22,"character":1},"end":{"line":22,"character":8}}},{"name":"viper","detail":"*viper.Viper","kind":8,"range":{"start":{"line":23,"character":1},"end":{"line":23,"character":21}},"selectionRange":{"start":{"line":23,"character":1},"end":{"line":23,"character":6}}},{"name":"config","detail":"daemonConfig","kind":8,"range":{"start":{"line":24,"character":1},"end":{"line":24,"character":21}},"selectionRange":{"start":{"line":24,"character":1},"end":{"line":24,"character":7}}},{"name":"daemon","detail":"*daemon.Daemon","kind":8,"range":{"start":{"line":26,"character":1},"end":{"line":26,"character":22}},"selectionRange":{"start":{"line":26,"character":1},"end":{"line":26,"character":7}}},{"name":"ready","detail":"chan struct{}","kind":8,"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":20}},"selectionRange":{"start":{"line":28,"character":1},"end":{"line":28,"character":6}}}]},{"name":"systemPaths","detail":"struct{...}","kind":23,"range":{"start":{"line":32,"character":5},"end":{"line":36,"character":1}},"selectionRange":{"start":{"line":32,"character":5},"end":{"line":32,"character":16}},"children":[{"name":"BrokersConf","detail":"string","kind":8,"range":{"start":{"line":33,"character":1},"end":{"line":33,"character":19}},"selectionRange":{"start":{"line":33,"character":1},"end":{"line":33,"character":12}}},{"name":"Cache","detail":"string","kind":8,"range":{"start":{"line":34,"character":1},"end":{"line":34,"character":19}},"selectionRange":{"start":{"line":34,"character":1},"end":{"line":34,"character":6}}},{"name":"Socket","detail":"string","kind":8,"range":{"start":{"line":35,"character":1},"end":{"line":35,"character":19}},"selectionRange":{"start":{"line":35,"character":1},"end":{"line":35,"character":7}}}]},{"name":"daemonConfig","detail":"struct{...}","kind":23,"range":{"start":{"line":39,"character":5},"end":{"line":43,"character":1}},"selectionRange":{"start":{"line":39,"character":5},"end":{"line":39,"character":17}},"children":[{"name":"Brokers","detail":"[]string","kind":8,"range":{"start":{"line":40,"character":1},"end":{"line":40,"character":19}},"selectionRange":{"start":{"line":40,"character":1},"end":{"line":40,"character":8}}},{"name":"Verbosity","detail":"int","kind":8,"range":{"start":{"line":41,"character":1},"end":{"line":41,"character":14}},"selectionRange":{"start":{"line":41,"character":1},"end":{"line":41,"character":10}}},{"name":"Paths","detail":"systemPaths","kind":8,"range":{"start":{"line":42,"character":1},"end":{"line":42,"character":22}},"selectionRange":{"start":{"line":42,"character":1},"end":{"line":42,"character":6}}}]},{"name":"New","detail":"func() *App","kind":12,"range":{"start":{"line":46,"character":0},"end":{"line":98,"character":1}},"selectionRange":{"start":{"line":46,"character":5},"end":{"line":46,"character":8}}},{"name":"(*App).serve","detail":"func(config daemonConfig) error","kind":6,"range":{"start":{"line":101,"character":0},"end":{"line":134,"character":1}},"selectionRange":{"start":{"line":101,"character":14},"end":{"line":101,"character":19}}},{"name":"installVerbosityFlag","detail":"func(cmd *cobra.Command, viper *viper.Viper) *int","kind":12,"range":{"start":{"line":137,"character":0},"end":{"line":141,"character":1}},"selectionRange":{"start":{"line":137,"character":5},"end":{"line":137,"character":25}}},{"name":"(*App).Run","detail":"func() error","kind":6,"range":{"start":{"line":144,"character":0},"end":{"line":146,"character":1}},"selectionRange":{"start":{"line":144,"character":14},"end":{"line":144,"character":17}}},{"name":"(App).UsageError","detail":"func() bool","kind":6,"range":{"start":{"line":149,"character":0},"end":{"line":151,"character":1}},"selectionRange":{"start":{"line":149,"character":13},"end":{"line":149,"character":23}}},{"name":"(App).Hup","detail":"func() (shouldQuit bool)","kind":6,"range":{"start":{"line":154,"character":0},"end":{"line":159,"character":1}},"selectionRange":{"start":{"line":154,"character":13},"end":{"line":154,"character":16}}},{"name":"(*App).Quit","detail":"func()","kind":6,"range":{"start":{"line":162,"character":0},"end":{"line":168,"character":1}},"selectionRange":{"start":{"line":162,"character":14},"end":{"line":162,"character":18}}},{"name":"(*App).WaitReady","detail":"func()","kind":6,"range":{"start":{"line":172,"character":0},"end":{"line":174,"character":1}},"selectionRange":{"start":{"line":172,"character":14},"end":{"line":172,"character":23}}},{"name":"(App).RootCmd","detail":"func() cobra.Command","kind":6,"range":{"start":{"line":177,"character":0},"end":{"line":179,"character":1}},"selectionRange":{"start":{"line":177,"character":13},"end":{"line":177,"character":20}}}]
[Trace - 07:59:10.903 AM] Sending request 'textDocument/codeLens - (232)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:10.903 AM] Received response 'textDocument/codeLens - (232)' in 0ms.
Result: null
[Trace - 07:59:10.948 AM] Sending request 'textDocument/semanticTokens/full - (233)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Error - Received] 07:59:10.949 AM golang/vscode-go#233 semantictokens are disabled
[Error - 07:59:10] Request textDocument/semanticTokens/full failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:11.001 AM] Sending notification 'textDocument/didChange'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":32},"contentChanges":[{"range":{"start":{"line":48,"character":2},"end":{"line":48,"character":2}},"rangeLength":0,"text":"."}]}
[Trace - 07:59:11.004 AM] Sending request 'textDocument/completion - (234)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"position":{"line":48,"character":3},"context":{"triggerKind":2,"triggerCharacter":"."}}
[Trace - 07:59:11.024 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go","version":32,"diagnostics":[]}
[Trace - 07:59:11.105 AM] Received response 'textDocument/completion - (234)' in 101ms.
Result: {"isIncomplete":true,"items":[]}
[Trace - 07:59:11.152 AM] Sending request 'textDocument/semanticTokens/range - (235)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":14,"character":0},"end":{"line":96,"character":0}}}
[Error - Received] 07:59:11.153 AM golang/vscode-go#235 semantictokens are disabled
[Error - 07:59:11] Request textDocument/semanticTokens/range failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:11.253 AM] Sending request 'textDocument/codeAction - (236)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":48,"character":3},"end":{"line":48,"character":3}},"context":{"diagnostics":[],"triggerKind":2}}
[Trace - 07:59:11.254 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2024/04/03 07:59:11 fixImports(filename=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\"), abs=\"/home/didrocks/work/authd/cmd/authd/daemon/daemon.go\", srcDir=\"/home/didrocks/work/authd/cmd/authd/daemon\" ...\n"}
[Trace - 07:59:11.254 AM] Received response 'textDocument/codeAction - (236)' in 1ms.
Result: null
[Info - 07:59:11] 2024/04/03 07:59:11 fixImports(filename="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go"), abs="/home/didrocks/work/authd/cmd/authd/daemon/daemon.go", srcDir="/home/didrocks/work/authd/cmd/authd/daemon" ...
[Trace - 07:59:11.304 AM] Sending request 'textDocument/foldingRange - (237)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:11.305 AM] Received response 'textDocument/foldingRange - (237)' in 1ms.
Result: [{"startLine":3,"startCharacter":8,"endLine":14,"endCharacter":29,"kind":"imports"},{"startLine":21,"startCharacter":17,"endLine":28,"endCharacter":20},{"startLine":32,"startCharacter":25,"endLine":35,"endCharacter":19},{"startLine":39,"startCharacter":26,"endLine":42,"endCharacter":22},{"startLine":46,"startCharacter":17,"endLine":97,"endCharacter":10},{"startLine":49,"startCharacter":27,"endLine":85,"endCharacter":21},{"startLine":54,"startCharacter":68,"endLine":79,"endCharacter":13},{"startLine":60,"startCharacter":27,"endLine":65,"endCharacter":5},{"startLine":61,"startCharacter":23,"endLine":64,"endCharacter":20},{"startLine":69,"startCharacter":72,"endLine":70,"endCharacter":14},{"startLine":72,"startCharacter":55,"endLine":73,"endCharacter":76},{"startLine":81,"startCharacter":55,"endLine":82,"endCharacter":27},{"startLine":101,"startCharacter":48,"endLine":133,"endCharacter":25},{"startLine":105,"startCharacter":59,"endLine":107,"endCharacter":82},{"startLine":111,"startCharacter":16,"endLine":113,"endCharacter":12},{"startLine":120,"startCharacter":22,"endLine":121,"endCharacter":68},{"startLine":125,"startCharacter":16,"endLine":127,"endCharacter":12},{"startLine":137,"startCharacter":72,"endLine":140,"endCharacter":9},{"startLine":144,"startCharacter":27,"endLine":145,"endCharacter":27},{"startLine":149,"startCharacter":32,"endLine":150,"endCharacter":31},{"startLine":154,"startCharacter":38,"endLine":158,"endCharacter":13},{"startLine":162,"startCharacter":22,"endLine":167,"endCharacter":43},{"startLine":164,"startCharacter":21,"endLine":165,"endCharacter":8},{"startLine":170,"startCharacter":45,"endLine":171,"endCharacter":119,"kind":"comment"},{"startLine":172,"startCharacter":27,"endLine":173,"endCharacter":10},{"startLine":177,"startCharacter":38,"endLine":178,"endCharacter":17}]
[Trace - 07:59:11.352 AM] Sending request 'textDocument/documentSymbol - (238)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:11.352 AM] Received response 'textDocument/documentSymbol - (238)' in 0ms.
Result: [{"name":"cmdName","kind":14,"range":{"start":{"line":18,"character":6},"end":{"line":18,"character":23}},"selectionRange":{"start":{"line":18,"character":6},"end":{"line":18,"character":13}}},{"name":"App","detail":"struct{...}","kind":23,"range":{"start":{"line":21,"character":5},"end":{"line":29,"character":1}},"selectionRange":{"start":{"line":21,"character":5},"end":{"line":21,"character":8}},"children":[{"name":"rootCmd","detail":"cobra.Command","kind":8,"range":{"start":{"line":22,"character":1},"end":{"line":22,"character":22}},"selectionRange":{"start":{"line":22,"character":1},"end":{"line":22,"character":8}}},{"name":"viper","detail":"*viper.Viper","kind":8,"range":{"start":{"line":23,"character":1},"end":{"line":23,"character":21}},"selectionRange":{"start":{"line":23,"character":1},"end":{"line":23,"character":6}}},{"name":"config","detail":"daemonConfig","kind":8,"range":{"start":{"line":24,"character":1},"end":{"line":24,"character":21}},"selectionRange":{"start":{"line":24,"character":1},"end":{"line":24,"character":7}}},{"name":"daemon","detail":"*daemon.Daemon","kind":8,"range":{"start":{"line":26,"character":1},"end":{"line":26,"character":22}},"selectionRange":{"start":{"line":26,"character":1},"end":{"line":26,"character":7}}},{"name":"ready","detail":"chan struct{}","kind":8,"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":20}},"selectionRange":{"start":{"line":28,"character":1},"end":{"line":28,"character":6}}}]},{"name":"systemPaths","detail":"struct{...}","kind":23,"range":{"start":{"line":32,"character":5},"end":{"line":36,"character":1}},"selectionRange":{"start":{"line":32,"character":5},"end":{"line":32,"character":16}},"children":[{"name":"BrokersConf","detail":"string","kind":8,"range":{"start":{"line":33,"character":1},"end":{"line":33,"character":19}},"selectionRange":{"start":{"line":33,"character":1},"end":{"line":33,"character":12}}},{"name":"Cache","detail":"string","kind":8,"range":{"start":{"line":34,"character":1},"end":{"line":34,"character":19}},"selectionRange":{"start":{"line":34,"character":1},"end":{"line":34,"character":6}}},{"name":"Socket","detail":"string","kind":8,"range":{"start":{"line":35,"character":1},"end":{"line":35,"character":19}},"selectionRange":{"start":{"line":35,"character":1},"end":{"line":35,"character":7}}}]},{"name":"daemonConfig","detail":"struct{...}","kind":23,"range":{"start":{"line":39,"character":5},"end":{"line":43,"character":1}},"selectionRange":{"start":{"line":39,"character":5},"end":{"line":39,"character":17}},"children":[{"name":"Brokers","detail":"[]string","kind":8,"range":{"start":{"line":40,"character":1},"end":{"line":40,"character":19}},"selectionRange":{"start":{"line":40,"character":1},"end":{"line":40,"character":8}}},{"name":"Verbosity","detail":"int","kind":8,"range":{"start":{"line":41,"character":1},"end":{"line":41,"character":14}},"selectionRange":{"start":{"line":41,"character":1},"end":{"line":41,"character":10}}},{"name":"Paths","detail":"systemPaths","kind":8,"range":{"start":{"line":42,"character":1},"end":{"line":42,"character":22}},"selectionRange":{"start":{"line":42,"character":1},"end":{"line":42,"character":6}}}]},{"name":"New","detail":"func() *App","kind":12,"range":{"start":{"line":46,"character":0},"end":{"line":98,"character":1}},"selectionRange":{"start":{"line":46,"character":5},"end":{"line":46,"character":8}}},{"name":"(*App).serve","detail":"func(config daemonConfig) error","kind":6,"range":{"start":{"line":101,"character":0},"end":{"line":134,"character":1}},"selectionRange":{"start":{"line":101,"character":14},"end":{"line":101,"character":19}}},{"name":"installVerbosityFlag","detail":"func(cmd *cobra.Command, viper *viper.Viper) *int","kind":12,"range":{"start":{"line":137,"character":0},"end":{"line":141,"character":1}},"selectionRange":{"start":{"line":137,"character":5},"end":{"line":137,"character":25}}},{"name":"(*App).Run","detail":"func() error","kind":6,"range":{"start":{"line":144,"character":0},"end":{"line":146,"character":1}},"selectionRange":{"start":{"line":144,"character":14},"end":{"line":144,"character":17}}},{"name":"(App).UsageError","detail":"func() bool","kind":6,"range":{"start":{"line":149,"character":0},"end":{"line":151,"character":1}},"selectionRange":{"start":{"line":149,"character":13},"end":{"line":149,"character":23}}},{"name":"(App).Hup","detail":"func() (shouldQuit bool)","kind":6,"range":{"start":{"line":154,"character":0},"end":{"line":159,"character":1}},"selectionRange":{"start":{"line":154,"character":13},"end":{"line":154,"character":16}}},{"name":"(*App).Quit","detail":"func()","kind":6,"range":{"start":{"line":162,"character":0},"end":{"line":168,"character":1}},"selectionRange":{"start":{"line":162,"character":14},"end":{"line":162,"character":18}}},{"name":"(*App).WaitReady","detail":"func()","kind":6,"range":{"start":{"line":172,"character":0},"end":{"line":174,"character":1}},"selectionRange":{"start":{"line":172,"character":14},"end":{"line":172,"character":23}}},{"name":"(App).RootCmd","detail":"func() cobra.Command","kind":6,"range":{"start":{"line":177,"character":0},"end":{"line":179,"character":1}},"selectionRange":{"start":{"line":177,"character":13},"end":{"line":177,"character":20}}}]
[Trace - 07:59:11.380 AM] Sending request 'textDocument/codeLens - (239)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:11.381 AM] Received response 'textDocument/codeLens - (239)' in 0ms.
Result: null
[Trace - 07:59:11.451 AM] Sending request 'textDocument/semanticTokens/full - (240)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Error - Received] 07:59:11.452 AM golang/vscode-go#240 semantictokens are disabled
[Error - 07:59:11] Request textDocument/semanticTokens/full failed.
Message: semantictokens are disabled
Code: 0
[Trace - 07:59:11.528 AM] Sending request 'textDocument/documentSymbol - (241)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:11.528 AM] Received response 'textDocument/documentSymbol - (241)' in 0ms.
Result: [{"name":"cmdName","kind":14,"range":{"start":{"line":18,"character":6},"end":{"line":18,"character":23}},"selectionRange":{"start":{"line":18,"character":6},"end":{"line":18,"character":13}}},{"name":"App","detail":"struct{...}","kind":23,"range":{"start":{"line":21,"character":5},"end":{"line":29,"character":1}},"selectionRange":{"start":{"line":21,"character":5},"end":{"line":21,"character":8}},"children":[{"name":"rootCmd","detail":"cobra.Command","kind":8,"range":{"start":{"line":22,"character":1},"end":{"line":22,"character":22}},"selectionRange":{"start":{"line":22,"character":1},"end":{"line":22,"character":8}}},{"name":"viper","detail":"*viper.Viper","kind":8,"range":{"start":{"line":23,"character":1},"end":{"line":23,"character":21}},"selectionRange":{"start":{"line":23,"character":1},"end":{"line":23,"character":6}}},{"name":"config","detail":"daemonConfig","kind":8,"range":{"start":{"line":24,"character":1},"end":{"line":24,"character":21}},"selectionRange":{"start":{"line":24,"character":1},"end":{"line":24,"character":7}}},{"name":"daemon","detail":"*daemon.Daemon","kind":8,"range":{"start":{"line":26,"character":1},"end":{"line":26,"character":22}},"selectionRange":{"start":{"line":26,"character":1},"end":{"line":26,"character":7}}},{"name":"ready","detail":"chan struct{}","kind":8,"range":{"start":{"line":28,"character":1},"end":{"line":28,"character":20}},"selectionRange":{"start":{"line":28,"character":1},"end":{"line":28,"character":6}}}]},{"name":"systemPaths","detail":"struct{...}","kind":23,"range":{"start":{"line":32,"character":5},"end":{"line":36,"character":1}},"selectionRange":{"start":{"line":32,"character":5},"end":{"line":32,"character":16}},"children":[{"name":"BrokersConf","detail":"string","kind":8,"range":{"start":{"line":33,"character":1},"end":{"line":33,"character":19}},"selectionRange":{"start":{"line":33,"character":1},"end":{"line":33,"character":12}}},{"name":"Cache","detail":"string","kind":8,"range":{"start":{"line":34,"character":1},"end":{"line":34,"character":19}},"selectionRange":{"start":{"line":34,"character":1},"end":{"line":34,"character":6}}},{"name":"Socket","detail":"string","kind":8,"range":{"start":{"line":35,"character":1},"end":{"line":35,"character":19}},"selectionRange":{"start":{"line":35,"character":1},"end":{"line":35,"character":7}}}]},{"name":"daemonConfig","detail":"struct{...}","kind":23,"range":{"start":{"line":39,"character":5},"end":{"line":43,"character":1}},"selectionRange":{"start":{"line":39,"character":5},"end":{"line":39,"character":17}},"children":[{"name":"Brokers","detail":"[]string","kind":8,"range":{"start":{"line":40,"character":1},"end":{"line":40,"character":19}},"selectionRange":{"start":{"line":40,"character":1},"end":{"line":40,"character":8}}},{"name":"Verbosity","detail":"int","kind":8,"range":{"start":{"line":41,"character":1},"end":{"line":41,"character":14}},"selectionRange":{"start":{"line":41,"character":1},"end":{"line":41,"character":10}}},{"name":"Paths","detail":"systemPaths","kind":8,"range":{"start":{"line":42,"character":1},"end":{"line":42,"character":22}},"selectionRange":{"start":{"line":42,"character":1},"end":{"line":42,"character":6}}}]},{"name":"New","detail":"func() *App","kind":12,"range":{"start":{"line":46,"character":0},"end":{"line":98,"character":1}},"selectionRange":{"start":{"line":46,"character":5},"end":{"line":46,"character":8}}},{"name":"(*App).serve","detail":"func(config daemonConfig) error","kind":6,"range":{"start":{"line":101,"character":0},"end":{"line":134,"character":1}},"selectionRange":{"start":{"line":101,"character":14},"end":{"line":101,"character":19}}},{"name":"installVerbosityFlag","detail":"func(cmd *cobra.Command, viper *viper.Viper) *int","kind":12,"range":{"start":{"line":137,"character":0},"end":{"line":141,"character":1}},"selectionRange":{"start":{"line":137,"character":5},"end":{"line":137,"character":25}}},{"name":"(*App).Run","detail":"func() error","kind":6,"range":{"start":{"line":144,"character":0},"end":{"line":146,"character":1}},"selectionRange":{"start":{"line":144,"character":14},"end":{"line":144,"character":17}}},{"name":"(App).UsageError","detail":"func() bool","kind":6,"range":{"start":{"line":149,"character":0},"end":{"line":151,"character":1}},"selectionRange":{"start":{"line":149,"character":13},"end":{"line":149,"character":23}}},{"name":"(App).Hup","detail":"func() (shouldQuit bool)","kind":6,"range":{"start":{"line":154,"character":0},"end":{"line":159,"character":1}},"selectionRange":{"start":{"line":154,"character":13},"end":{"line":154,"character":16}}},{"name":"(*App).Quit","detail":"func()","kind":6,"range":{"start":{"line":162,"character":0},"end":{"line":168,"character":1}},"selectionRange":{"start":{"line":162,"character":14},"end":{"line":162,"character":18}}},{"name":"(*App).WaitReady","detail":"func()","kind":6,"range":{"start":{"line":172,"character":0},"end":{"line":174,"character":1}},"selectionRange":{"start":{"line":172,"character":14},"end":{"line":172,"character":23}}},{"name":"(App).RootCmd","detail":"func() cobra.Command","kind":6,"range":{"start":{"line":177,"character":0},"end":{"line":179,"character":1}},"selectionRange":{"start":{"line":177,"character":13},"end":{"line":177,"character":20}}}]
[Trace - 07:59:12.254 AM] Sending request 'textDocument/inlayHint - (242)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"range":{"start":{"line":0,"character":0},"end":{"line":126,"character":0}}}
[Trace - 07:59:12.255 AM] Received response 'textDocument/inlayHint - (242)' in 0ms.
Result: null
[Trace - 07:59:12.504 AM] Sending request 'textDocument/documentLink - (243)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"}}
[Trace - 07:59:12.531 AM] Received response 'textDocument/documentLink - (243)' in 26ms.
Result: [{"range":{"start":{"line":4,"character":2},"end":{"line":4,"character":9}},"target":"https://pkg.go.dev/context"},{"range":{"start":{"line":5,"character":2},"end":{"line":5,"character":5}},"target":"https://pkg.go.dev/fmt"},{"range":{"start":{"line":6,"character":2},"end":{"line":6,"character":9}},"target":"https://pkg.go.dev/runtime"},{"range":{"start":{"line":8,"character":2},"end":{"line":8,"character":24}},"target":"https://pkg.go.dev/github.com/spf13/cobra@v1.8.0"},{"range":{"start":{"line":9,"character":2},"end":{"line":9,"character":24}},"target":"https://pkg.go.dev/github.com/spf13/viper@v1.18.2"},{"range":{"start":{"line":10,"character":2},"end":{"line":10,"character":41}},"target":"https://pkg.go.dev/github.com/ubuntu/authd/internal/consts"},{"range":{"start":{"line":11,"character":2},"end":{"line":11,"character":41}},"target":"https://pkg.go.dev/github.com/ubuntu/authd/internal/daemon"},{"range":{"start":{"line":12,"character":2},"end":{"line":12,"character":38}},"target":"https://pkg.go.dev/github.com/ubuntu/authd/internal/log"},{"range":{"start":{"line":13,"character":2},"end":{"line":13,"character":43}},"target":"https://pkg.go.dev/github.com/ubuntu/authd/internal/services"},{"range":{"start":{"line":14,"character":2},"end":{"line":14,"character":28}},"target":"https://pkg.go.dev/github.com/ubuntu/decorate@v0.0.0-20230606064312-bc4ac83958d6"}]
[Trace - 07:59:15.999 AM] Sending request 'textDocument/completion - (244)'.
Params: {"textDocument":{"uri":"file:///home/didrocks/work/authd/cmd/authd/daemon/daemon.go"},"position":{"line":48,"character":3},"context":{"triggerKind":1}}
[Trace - 07:59:16.105 AM] Received response 'textDocument/completion - (244)' in 106ms.
Result: {"isIncomplete":true,"items":[]}
Please find attached additional logs when opening the project.
What version of Go, VS Code & VS Code Go extension are you using?
Version Information
Run
go versionto get version of Go from the VS Code integrated terminal.go version go1.22.1 linux/amd64Run
gopls -v versionto get version of Gopls from the VS Code integrated terminal.code -vorcode-insiders -vto get version of VS Code or VS Code Insiders.Check your installed extensions to get the version of the VS Code Go extension
v0.41.2Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) >
Go: Locate Configured Go Toolscommand.Share the Go related settings you have added/edited
I did reset all go related settings in the editor after noticing first the first time completion
/suggestion/autoimport didn’t work. The remaining settings left (for those debug traces) are:
Note that I also tried adding
semantictokens, but this didn’t improve anything.Describe the bug
On a large project (hello world completion works on the same machine), gopls/vscode extension stops suggesting anything. One of those is for instance https://github.com/ubuntu/authd, but it’s not limited to it on my setup.
In the following reproducible step, I’m trying to request completion from an App struct instance to get its field. This is the same for anything else (methods or functions completion), refactoring, auto importing…
Note that the project is successfully building. If I run
go build ./cmd/authd/, there is no error and the binary is produced.I also tried to remove the gopls and go entire cache in my HOME directory, and having gopls rebuilt (then, with the default go version on the system, which is 1.21.3, which is autoupdate to 1.22.1 inside this project)
Steps to reproduce the behavior:
we have the surroundings lines:
Log recording start with the cursor after the last line
2. Type carriage return, then
a.3. See that nothing is proposed, no field or methods of a.
The logs starting when I type a return carriage, then
a.on line 49 (which is anAppinstance), expecting completion:Additional logs
Please find attached additional logs when opening the project.
open-project-traces.txt