Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/tools/cmd/gopls: non .go files cause gopls log errors #32178

Closed
myitcv opened this issue May 22, 2019 · 4 comments
Closed

x/tools/cmd/gopls: non .go files cause gopls log errors #32178

myitcv opened this issue May 22, 2019 · 4 comments
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@myitcv
Copy link
Member

myitcv commented May 22, 2019

What version of Go are you using (go version)?

$ go version
go version go1.12.5 linux/amd64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd

Does this issue reproduce with the latest release?

Yes

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GOARCH="amd64"
GOBIN="/home/myitcv/gostuff/src/github.com/myitcv/govim/cmd/govim/.bin"
GOCACHE="/home/myitcv/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/myitcv/gostuff"
GOPROXY="https://proxy.golang.org/"
GORACE=""
GOROOT="/home/myitcv/gos"
GOTMPDIR=""
GOTOOLDIR="/home/myitcv/gos/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build505671323=/tmp/go-build -gno-record-gcc-switches"

What did you do?

The following log shows interaction with gopls for a completion request. But as part of that we also open a go.mod:

Log Output
2019-05-22T04:32:16.181591: gopls server start =======================
2019-05-22T04:32:16.181591: gopls.Initialize() call; params:
2019-05-22T04:32:16.181591: &protocol.InitializeParams{
2019-05-22T04:32:16.181591:     ProcessID:    0,
2019-05-22T04:32:16.181591:     RootPath:     "",
2019-05-22T04:32:16.181591:     RootURI:      "file:///tmp/go-test-script860551799/script-complete_watched",
2019-05-22T04:32:16.181591:     Capabilities: protocol.ClientCapabilities{
2019-05-22T04:32:16.181591:         Workspace: struct { ApplyEdit bool "json:\"applyEdit,omitempty\""; WorkspaceEdit struct { DocumentChanges bool "json:\"documentChanges,omitempty\""; ResourceOperations []protocol.ResourceOperationKind "json:\"resourceOperations,omitempty\""; FailureHandling protocol.FailureHandlingKind "json:\"failureHandling,omitempty\"" } "json:\"workspaceEdit,omitempty\""; DidChangeConfiguration struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"didChangeConfiguration,omitempty\""; DidChangeWatchedFiles struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"didChangeWatchedFiles,omitempty\""; Symbol struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SymbolKind struct { ValueSet []protocol.SymbolKind "json:\"valueSet,omitempty\"" } "json:\"symbolKind,omitempty\"" } "json:\"symbol,omitempty\""; ExecuteCommand struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"executeCommand,omitempty\""; WorkspaceFolders bool "json:\"workspaceFolders,omitempty\""; Configuration bool "json:\"configuration,omitempty\"" }{
2019-05-22T04:32:16.181591:             ApplyEdit:              false,
2019-05-22T04:32:16.181591:             WorkspaceEdit:          struct { DocumentChanges bool "json:\"documentChanges,omitempty\""; ResourceOperations []protocol.ResourceOperationKind "json:\"resourceOperations,omitempty\""; FailureHandling protocol.FailureHandlingKind "json:\"failureHandling,omitempty\"" }{},
2019-05-22T04:32:16.181591:             DidChangeConfiguration: struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{DynamicRegistration:true},
2019-05-22T04:32:16.181591:             DidChangeWatchedFiles:  struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Symbol:                 struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SymbolKind struct { ValueSet []protocol.SymbolKind "json:\"valueSet,omitempty\"" } "json:\"symbolKind,omitempty\"" }{},
2019-05-22T04:32:16.181591:             ExecuteCommand:         struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             WorkspaceFolders:       false,
2019-05-22T04:32:16.181591:             Configuration:          true,
2019-05-22T04:32:16.181591:         },
2019-05-22T04:32:16.181591:         TextDocument: struct { Synchronization struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; WillSave bool "json:\"willSave,omitempty\""; WillSaveWaitUntil bool "json:\"willSaveWaitUntil,omitempty\""; DidSave bool "json:\"didSave,omitempty\"" } "json:\"synchronization,omitempty\""; Completion struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; CompletionItem struct { SnippetSupport bool "json:\"snippetSupport,omitempty\""; CommitCharactersSupport bool "json:\"commitCharactersSupport,omitempty\""; DocumentationFormat []protocol.MarkupKind "json:\"documentationFormat,omitempty\""; DeprecatedSupport bool "json:\"deprecatedSupport,omitempty\""; PreselectSupport bool "json:\"preselectSupport,omitempty\"" } "json:\"completionItem,omitempty\""; CompletionItemKind struct { ValueSet []protocol.CompletionItemKind "json:\"valueSet,omitempty\"" } "json:\"completionItemKind,omitempty\""; ContextSupport bool "json:\"contextSupport,omitempty\"" } "json:\"completion,omitempty\""; Hover struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; ContentFormat []protocol.MarkupKind "json:\"contentFormat,omitempty\"" } "json:\"hover,omitempty\""; SignatureHelp struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SignatureInformation struct { DocumentationFormat []protocol.MarkupKind "json:\"documentationFormat,omitempty\""; ParameterInformation struct { LabelOffsetSupport bool "json:\"labelOffsetSupport,omitempty\"" } "json:\"parameterInformation,omitempty\"" } "json:\"signatureInformation,omitempty\"" } "json:\"signatureHelp,omitempty\""; References struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"references,omitempty\""; DocumentHighlight struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"documentHighlight,omitempty\""; DocumentSymbol struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SymbolKind struct { ValueSet []protocol.SymbolKind "json:\"valueSet,omitempty\"" } "json:\"symbolKind,omitempty\""; HierarchicalDocumentSymbolSupport bool "json:\"hierarchicalDocumentSymbolSupport,omitempty\"" } "json:\"documentSymbol,omitempty\""; Formatting struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"formatting,omitempty\""; RangeFormatting struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"rangeFormatting,omitempty\""; OnTypeFormatting struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"onTypeFormatting,omitempty\""; Definition struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" } "json:\"definition,omitempty\""; CodeAction struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; CodeActionLiteralSupport struct { CodeActionKind struct { ValueSet []protocol.CodeActionKind "json:\"valueSet\"" } "json:\"codeActionKind\"" } "json:\"codeActionLiteralSupport,omitempty\"" } "json:\"codeAction,omitempty\""; CodeLens struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"codeLens,omitempty\""; DocumentLink struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"documentLink,omitempty\""; Rename struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; PrepareSupport bool "json:\"prepareSupport,omitempty\"" } "json:\"rename,omitempty\""; PublishDiagnostics struct { RelatedInformation bool "json:\"relatedInformation,omitempty\""; TagSupport bool "json:\"tagSupport,omitempty\"" } "json:\"publishDiagnostics,omitempty\""; Implementation struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" } "json:\"implementation,omitempty\""; TypeDefinition struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" } "json:\"typeDefinition,omitempty\""; ColorProvider struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"colorProvider,omitempty\""; FoldingRange struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; RangeLimit float64 "json:\"rangeLimit,omitempty\""; LineFoldingOnly bool "json:\"lineFoldingOnly,omitempty\"" } "json:\"foldingRange,omitempty\""; Declaration struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" } "json:\"declaration,omitempty\""; SelectionRange struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" } "json:\"selectionRange,omitempty\"" }{
2019-05-22T04:32:16.181591:             Synchronization: struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; WillSave bool "json:\"willSave,omitempty\""; WillSaveWaitUntil bool "json:\"willSaveWaitUntil,omitempty\""; DidSave bool "json:\"didSave,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Completion:      struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; CompletionItem struct { SnippetSupport bool "json:\"snippetSupport,omitempty\""; CommitCharactersSupport bool "json:\"commitCharactersSupport,omitempty\""; DocumentationFormat []protocol.MarkupKind "json:\"documentationFormat,omitempty\""; DeprecatedSupport bool "json:\"deprecatedSupport,omitempty\""; PreselectSupport bool "json:\"preselectSupport,omitempty\"" } "json:\"completionItem,omitempty\""; CompletionItemKind struct { ValueSet []protocol.CompletionItemKind "json:\"valueSet,omitempty\"" } "json:\"completionItemKind,omitempty\""; ContextSupport bool "json:\"contextSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Hover:           struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; ContentFormat []protocol.MarkupKind "json:\"contentFormat,omitempty\"" }{
2019-05-22T04:32:16.181591:                 DynamicRegistration: false,
2019-05-22T04:32:16.181591:                 ContentFormat:       {"plaintext"},
2019-05-22T04:32:16.181591:             },
2019-05-22T04:32:16.181591:             SignatureHelp:      struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SignatureInformation struct { DocumentationFormat []protocol.MarkupKind "json:\"documentationFormat,omitempty\""; ParameterInformation struct { LabelOffsetSupport bool "json:\"labelOffsetSupport,omitempty\"" } "json:\"parameterInformation,omitempty\"" } "json:\"signatureInformation,omitempty\"" }{},
2019-05-22T04:32:16.181591:             References:         struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             DocumentHighlight:  struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             DocumentSymbol:     struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; SymbolKind struct { ValueSet []protocol.SymbolKind "json:\"valueSet,omitempty\"" } "json:\"symbolKind,omitempty\""; HierarchicalDocumentSymbolSupport bool "json:\"hierarchicalDocumentSymbolSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Formatting:         struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             RangeFormatting:    struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             OnTypeFormatting:   struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Definition:         struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             CodeAction:         struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; CodeActionLiteralSupport struct { CodeActionKind struct { ValueSet []protocol.CodeActionKind "json:\"valueSet\"" } "json:\"codeActionKind\"" } "json:\"codeActionLiteralSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             CodeLens:           struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             DocumentLink:       struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Rename:             struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; PrepareSupport bool "json:\"prepareSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             PublishDiagnostics: struct { RelatedInformation bool "json:\"relatedInformation,omitempty\""; TagSupport bool "json:\"tagSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Implementation:     struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             TypeDefinition:     struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             ColorProvider:      struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:             FoldingRange:       struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; RangeLimit float64 "json:\"rangeLimit,omitempty\""; LineFoldingOnly bool "json:\"lineFoldingOnly,omitempty\"" }{},
2019-05-22T04:32:16.181591:             Declaration:        struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\""; LinkSupport bool "json:\"linkSupport,omitempty\"" }{},
2019-05-22T04:32:16.181591:             SelectionRange:     struct { DynamicRegistration bool "json:\"dynamicRegistration,omitempty\"" }{},
2019-05-22T04:32:16.181591:         },
2019-05-22T04:32:16.181591:         Experimental: nil,
2019-05-22T04:32:16.181591:     },
2019-05-22T04:32:16.181591:     InitializationOptions: nil,
2019-05-22T04:32:16.181591:     Trace:                 "",
2019-05-22T04:32:16.181591:     WorkspaceFolders:      nil,
2019-05-22T04:32:16.181591: }
2019-05-22T04:32:16.181591: gopls server end =======================
2019-05-22T04:32:16.183537: gopls server start =======================
2019-05-22T04:32:16.183537: gopls.Initialize() return; err: ; res:
2019-05-22T04:32:16.183537: &protocol.InitializeResult{
2019-05-22T04:32:16.183537:     Capabilities: protocol.ServerCapabilities{
2019-05-22T04:32:16.183537:         TextDocumentSync: map[string]interface {}{
2019-05-22T04:32:16.183537:             "openClose": bool(true),
2019-05-22T04:32:16.183537:             "change":    float64(1),
2019-05-22T04:32:16.183537:         },
2019-05-22T04:32:16.183537:         HoverProvider:      true,
2019-05-22T04:32:16.183537:         CompletionProvider: &protocol.CompletionOptions{
2019-05-22T04:32:16.183537:             TriggerCharacters:   {"."},
2019-05-22T04:32:16.183537:             AllCommitCharacters: nil,
2019-05-22T04:32:16.183537:             ResolveProvider:     false,
2019-05-22T04:32:16.183537:         },
2019-05-22T04:32:16.183537:         SignatureHelpProvider: &protocol.SignatureHelpOptions{
2019-05-22T04:32:16.183537:             TriggerCharacters: {"(", ","},
2019-05-22T04:32:16.183537:         },
2019-05-22T04:32:16.183537:         DefinitionProvider:               true,
2019-05-22T04:32:16.183537:         ReferencesProvider:               false,
2019-05-22T04:32:16.183537:         DocumentHighlightProvider:        true,
2019-05-22T04:32:16.183537:         DocumentSymbolProvider:           true,
2019-05-22T04:32:16.183537:         WorkspaceSymbolProvider:          false,
2019-05-22T04:32:16.183537:         CodeActionProvider:               true,
2019-05-22T04:32:16.183537:         CodeLensProvider:                 (*protocol.CodeLensOptions)(nil),
2019-05-22T04:32:16.183537:         DocumentFormattingProvider:       true,
2019-05-22T04:32:16.183537:         DocumentRangeFormattingProvider:  false,
2019-05-22T04:32:16.183537:         DocumentOnTypeFormattingProvider: (*struct { FirstTriggerCharacter string "json:\"firstTriggerCharacter\""; MoreTriggerCharacter []string "json:\"moreTriggerCharacter,omitempty\"" })(nil),
2019-05-22T04:32:16.183537:         RenameProvider:                   (*protocol.RenameOptions)(nil),
2019-05-22T04:32:16.183537:         DocumentLinkProvider:             &protocol.DocumentLinkOptions{},
2019-05-22T04:32:16.183537:         ExecuteCommandProvider:           (*protocol.ExecuteCommandOptions)(nil),
2019-05-22T04:32:16.183537:         Experimental:                     nil,
2019-05-22T04:32:16.183537:         ImplementationProvider:           false,
2019-05-22T04:32:16.183537:         TypeDefinitionProvider:           true,
2019-05-22T04:32:16.183537:         Workspace:                        &struct { WorkspaceFolders *struct { Supported bool "json:\"supported,omitempty\""; ChangeNotifications string "json:\"changeNotifications,omitempty\"" } "json:\"workspaceFolders,omitempty\"" }{
2019-05-22T04:32:16.183537:             WorkspaceFolders: &struct { Supported bool "json:\"supported,omitempty\""; ChangeNotifications string "json:\"changeNotifications,omitempty\"" }{Supported:true, ChangeNotifications:"workspace/didChangeWorkspaceFolders"},
2019-05-22T04:32:16.183537:         },
2019-05-22T04:32:16.183537:         ColorProvider:          false,
2019-05-22T04:32:16.183537:         FoldingRangeProvider:   false,
2019-05-22T04:32:16.183537:         DeclarationProvider:    false,
2019-05-22T04:32:16.183537:         SelectionRangeProvider: false,
2019-05-22T04:32:16.183537:     },
2019-05-22T04:32:16.183537:     Custom: {},
2019-05-22T04:32:16.183537: }
2019-05-22T04:32:16.183537: gopls server end =======================
2019-05-22T04:32:16.183558: gopls server start =======================
2019-05-22T04:32:16.183558: gopls.Initialized() call; params:
2019-05-22T04:32:16.183558: &protocol.InitializedParams{}
2019-05-22T04:32:16.183558: gopls server end =======================
2019-05-22T04:32:16.183610: gopls server start =======================
2019-05-22T04:32:16.183610: gopls.Initialized() return; err: 
2019-05-22T04:32:16.183610: gopls server end =======================
2019-05-22T04:32:16.207978: gopls server start =======================
2019-05-22T04:32:16.207978: gopls.DidOpen() call; params:
2019-05-22T04:32:16.207978: &protocol.DidOpenTextDocumentParams{
2019-05-22T04:32:16.207978:     TextDocument: protocol.TextDocumentItem{URI:"file:///tmp/go-test-script860551799/script-complete_watched/main.go", LanguageID:"", Version:0, Text:"package main\n\nimport \"fmt\"\n\nfunc main() {\n\tfmt.Println()\n}\n"},
2019-05-22T04:32:16.207978: }
2019-05-22T04:32:16.207978: gopls server end =======================
2019-05-22T04:32:16.208130: gopls server start =======================
2019-05-22T04:32:16.208130: gopls.DidOpen() return; err: 
2019-05-22T04:32:16.208130: gopls server end =======================
2019-05-22T04:32:16.209773: gopls server start =======================
2019-05-22T04:32:16.209773: gopls.DidOpen() call; params:
2019-05-22T04:32:16.209773: &protocol.DidOpenTextDocumentParams{
2019-05-22T04:32:16.209773:     TextDocument: protocol.TextDocumentItem{URI:"file:///tmp/go-test-script860551799/script-complete_watched/const.go", LanguageID:"", Version:0, Text:"package main\n\nconst (\n\tConst1 = 1\n\tConst2 = 2\n)\n"},
2019-05-22T04:32:16.209773: }
2019-05-22T04:32:16.209773: gopls server end =======================
2019-05-22T04:32:16.209854: gopls server start =======================
2019-05-22T04:32:16.209854: gopls.DidOpen() return; err: 
2019-05-22T04:32:16.209854: gopls server end =======================
2019-05-22T04:32:16.210068: gopls server start =======================
2019-05-22T04:32:16.210068: gopls.DidChange() call; params:
2019-05-22T04:32:16.210068: &protocol.DidChangeTextDocumentParams{
2019-05-22T04:32:16.210068:     TextDocument: protocol.VersionedTextDocumentIdentifier{
2019-05-22T04:32:16.210068:         Version:                1,
2019-05-22T04:32:16.210068:         TextDocumentIdentifier: protocol.TextDocumentIdentifier{URI:"file:///tmp/go-test-script860551799/script-complete_watched/const.go"},
2019-05-22T04:32:16.210068:     },
2019-05-22T04:32:16.210068:     ContentChanges: {
2019-05-22T04:32:16.210068:         {
2019-05-22T04:32:16.210068:             Range:       (*protocol.Range)(nil),
2019-05-22T04:32:16.210068:             RangeLength: 0,
2019-05-22T04:32:16.210068:             Text:        "package main\n\nconst (\n\tConst1 = 1\n\tConst2 = 2\n)\n",
2019-05-22T04:32:16.210068:         },
2019-05-22T04:32:16.210068:     },
2019-05-22T04:32:16.210068: }
2019-05-22T04:32:16.210068: gopls server end =======================
2019-05-22T04:32:16.210187: gopls server start =======================
2019-05-22T04:32:16.210187: gopls.DidChange() return; err: 
2019-05-22T04:32:16.210187: gopls server end =======================
2019-05-22T04:32:16.218345: gopls server start =======================
2019-05-22T04:32:16.218345: gopls.Completion() call; params:
2019-05-22T04:32:16.218345: &protocol.CompletionParams{
2019-05-22T04:32:16.218345:     Context:                    (*protocol.CompletionContext)(nil),
2019-05-22T04:32:16.218345:     TextDocumentPositionParams: protocol.TextDocumentPositionParams{
2019-05-22T04:32:16.218345:         TextDocument: protocol.TextDocumentIdentifier{URI:"file:///tmp/go-test-script860551799/script-complete_watched/main.go"},
2019-05-22T04:32:16.218345:         Position:     protocol.Position{Line:5, Character:13},
2019-05-22T04:32:16.218345:     },
2019-05-22T04:32:16.218345: }
2019-05-22T04:32:16.218345: gopls server end =======================
2019-05-22T04:32:16.253758: gopls client start =======================
2019-05-22T04:32:16.253758: LogMessage callback: &protocol.LogMessageParams{Type:3, Message:"#### Build info\n\ngolang.org/x/tools/cmd/gopls\n    golang.org/x/tools@v0.0.0-20190521203540-521d6ed310dd h1:7E3PabyysDSEjnaANKBgums/hyvMI/HoHQ50qZEzTrg=\n    golang.org/x/sync@v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU=\n\n\n#### Go info\n\ngo version go1.12.5 linux/amd64\n\nGOARCH=\"amd64\"\nGOBIN=\"/home/myitcv/gostuff/src/github.com/myitcv/govim/cmd/govim/.bin\"\nGOCACHE=\"/home/myitcv/.cache/go-build\"\nGOEXE=\"\"\nGOFLAGS=\"\"\nGOHOSTARCH=\"amd64\"\nGOHOSTOS=\"linux\"\nGOOS=\"linux\"\nGOPATH=\"/home/myitcv/gostuff\"\nGOPROXY=\"https://proxy.golang.org/\"\nGORACE=\"\"\nGOROOT=\"/home/myitcv/gos\"\nGOTMPDIR=\"\"\nGOTOOLDIR=\"/home/myitcv/gos/pkg/tool/linux_amd64\"\nGCCGO=\"gccgo\"\nCC=\"gcc\"\nCXX=\"g++\"\nCGO_ENABLED=\"1\"\nGOMOD=\"/home/myitcv/gostuff/src/github.com/myitcv/govim/go.mod\"\nCGO_CFLAGS=\"-g -O2\"\nCGO_CPPFLAGS=\"\"\nCGO_CXXFLAGS=\"-g -O2\"\nCGO_FFLAGS=\"-g -O2\"\nCGO_LDFLAGS=\"-g -O2\"\nPKG_CONFIG=\"pkg-config\"\nGOGCCFLAGS=\"-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build237786479=/tmp/go-build -gno-record-gcc-switches\"\n"}
2019-05-22T04:32:16.253758: gopls client end =======================
2019-05-22T04:32:17.005489: gopls server start =======================
2019-05-22T04:32:17.005489: gopls.Completion() return; err: ; res:
2019-05-22T04:32:17.005489: &protocol.CompletionList{
2019-05-22T04:32:17.005489:     IsIncomplete: false,
2019-05-22T04:32:17.005489:     Items:        {
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "fmt",
2019-05-22T04:32:17.005489:             Kind:             9,
2019-05-22T04:32:17.005489:             Detail:           "\"fmt\"",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        true,
2019-05-22T04:32:17.005489:             SortText:         "00000",
2019-05-22T04:32:17.005489:             FilterText:       "fmt",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "fmt",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "Const1",
2019-05-22T04:32:17.005489:             Kind:             21,
2019-05-22T04:32:17.005489:             Detail:           "int",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00001",
2019-05-22T04:32:17.005489:             FilterText:       "Const1",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "Const1",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "Const2",
2019-05-22T04:32:17.005489:             Kind:             21,
2019-05-22T04:32:17.005489:             Detail:           "int",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00002",
2019-05-22T04:32:17.005489:             FilterText:       "Const2",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "Const2",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "main()",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00003",
2019-05-22T04:32:17.005489:             FilterText:       "main",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "main",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "append(slice []Type, elems ...Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "[]Type",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00004",
2019-05-22T04:32:17.005489:             FilterText:       "append",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "append",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "bool",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00005",
2019-05-22T04:32:17.005489:             FilterText:       "bool",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "bool",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "byte",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00006",
2019-05-22T04:32:17.005489:             FilterText:       "byte",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "byte",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "cap(v Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "int",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00007",
2019-05-22T04:32:17.005489:             FilterText:       "cap",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "cap",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "close(c chan<- Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00008",
2019-05-22T04:32:17.005489:             FilterText:       "close",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "close",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "complex(r float64, i float64)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "complex128",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00009",
2019-05-22T04:32:17.005489:             FilterText:       "complex",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "complex",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "complex128",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00010",
2019-05-22T04:32:17.005489:             FilterText:       "complex128",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "complex128",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "complex64",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00011",
2019-05-22T04:32:17.005489:             FilterText:       "complex64",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "complex64",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "copy(dst []Type, src []Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "int",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00012",
2019-05-22T04:32:17.005489:             FilterText:       "copy",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "copy",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "delete(m map[Type]Type1, key Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00013",
2019-05-22T04:32:17.005489:             FilterText:       "delete",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "delete",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "error",
2019-05-22T04:32:17.005489:             Kind:             8,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00014",
2019-05-22T04:32:17.005489:             FilterText:       "error",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "error",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "false",
2019-05-22T04:32:17.005489:             Kind:             21,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00015",
2019-05-22T04:32:17.005489:             FilterText:       "false",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "false",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "float32",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00016",
2019-05-22T04:32:17.005489:             FilterText:       "float32",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "float32",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "float64",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00017",
2019-05-22T04:32:17.005489:             FilterText:       "float64",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "float64",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "imag(c complex128)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "float64",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00018",
2019-05-22T04:32:17.005489:             FilterText:       "imag",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "imag",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "int",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00019",
2019-05-22T04:32:17.005489:             FilterText:       "int",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "int",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "int16",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00020",
2019-05-22T04:32:17.005489:             FilterText:       "int16",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "int16",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "int32",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00021",
2019-05-22T04:32:17.005489:             FilterText:       "int32",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "int32",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "int64",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00022",
2019-05-22T04:32:17.005489:             FilterText:       "int64",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "int64",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "int8",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00023",
2019-05-22T04:32:17.005489:             FilterText:       "int8",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "int8",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "iota",
2019-05-22T04:32:17.005489:             Kind:             21,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00024",
2019-05-22T04:32:17.005489:             FilterText:       "iota",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "iota",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "len(v Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "int",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00025",
2019-05-22T04:32:17.005489:             FilterText:       "len",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "len",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "make(t Type, size ...int)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "Type",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00026",
2019-05-22T04:32:17.005489:             FilterText:       "make",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "make",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "new(Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "*Type",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00027",
2019-05-22T04:32:17.005489:             FilterText:       "new",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "new",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "nil",
2019-05-22T04:32:17.005489:             Kind:             6,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00028",
2019-05-22T04:32:17.005489:             FilterText:       "nil",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "nil",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "panic(v interface{})",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00029",
2019-05-22T04:32:17.005489:             FilterText:       "panic",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "panic",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "print(args ...Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00030",
2019-05-22T04:32:17.005489:             FilterText:       "print",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "print",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "println(args ...Type)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00031",
2019-05-22T04:32:17.005489:             FilterText:       "println",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "println",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "real(c complex128)",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "float64",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00032",
2019-05-22T04:32:17.005489:             FilterText:       "real",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "real",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "recover()",
2019-05-22T04:32:17.005489:             Kind:             3,
2019-05-22T04:32:17.005489:             Detail:           "interface{}",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00033",
2019-05-22T04:32:17.005489:             FilterText:       "recover",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "recover",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             &protocol.Command{
2019-05-22T04:32:17.005489:                 Title:     "",
2019-05-22T04:32:17.005489:                 Command:   "editor.action.triggerParameterHints",
2019-05-22T04:32:17.005489:                 Arguments: nil,
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             Data: nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "rune",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00034",
2019-05-22T04:32:17.005489:             FilterText:       "rune",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "rune",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "string",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00035",
2019-05-22T04:32:17.005489:             FilterText:       "string",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "string",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "true",
2019-05-22T04:32:17.005489:             Kind:             21,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00036",
2019-05-22T04:32:17.005489:             FilterText:       "true",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "true",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uint",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00037",
2019-05-22T04:32:17.005489:             FilterText:       "uint",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uint",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uint16",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00038",
2019-05-22T04:32:17.005489:             FilterText:       "uint16",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uint16",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uint32",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00039",
2019-05-22T04:32:17.005489:             FilterText:       "uint32",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uint32",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uint64",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00040",
2019-05-22T04:32:17.005489:             FilterText:       "uint64",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uint64",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uint8",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00041",
2019-05-22T04:32:17.005489:             FilterText:       "uint8",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uint8",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:         {
2019-05-22T04:32:17.005489:             Label:            "uintptr",
2019-05-22T04:32:17.005489:             Kind:             25,
2019-05-22T04:32:17.005489:             Detail:           "",
2019-05-22T04:32:17.005489:             Documentation:    "",
2019-05-22T04:32:17.005489:             Deprecated:       false,
2019-05-22T04:32:17.005489:             Preselect:        false,
2019-05-22T04:32:17.005489:             SortText:         "00042",
2019-05-22T04:32:17.005489:             FilterText:       "uintptr",
2019-05-22T04:32:17.005489:             InsertText:       "",
2019-05-22T04:32:17.005489:             InsertTextFormat: 1,
2019-05-22T04:32:17.005489:             TextEdit:         &protocol.TextEdit{
2019-05-22T04:32:17.005489:                 Range: protocol.Range{
2019-05-22T04:32:17.005489:                     Start: protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                     End:   protocol.Position{Line:5, Character:13},
2019-05-22T04:32:17.005489:                 },
2019-05-22T04:32:17.005489:                 NewText: "uintptr",
2019-05-22T04:32:17.005489:             },
2019-05-22T04:32:17.005489:             AdditionalTextEdits: nil,
2019-05-22T04:32:17.005489:             CommitCharacters:    nil,
2019-05-22T04:32:17.005489:             Command:             (*protocol.Command)(nil),
2019-05-22T04:32:17.005489:             Data:                nil,
2019-05-22T04:32:17.005489:         },
2019-05-22T04:32:17.005489:     },
2019-05-22T04:32:17.005489: }
2019-05-22T04:32:17.005489: gopls server end =======================
2019-05-22T04:32:17.006169: gopls server start =======================
2019-05-22T04:32:17.006169: gopls.DidOpen() call; params:
2019-05-22T04:32:17.006169: &protocol.DidOpenTextDocumentParams{
2019-05-22T04:32:17.006169:     TextDocument: protocol.TextDocumentItem{URI:"file:///tmp/go-test-script860551799/script-complete_watched/go.mod", LanguageID:"", Version:0, Text:"module mod.com\n\ngo 1.12\n"},
2019-05-22T04:32:17.006169: }
2019-05-22T04:32:17.006169: gopls server end =======================
2019-05-22T04:32:17.006304: gopls server start =======================
2019-05-22T04:32:17.006304: gopls.DidOpen() return; err: 
2019-05-22T04:32:17.006304: gopls server end =======================
2019-05-22T04:32:17.012332: gopls server start =======================
2019-05-22T04:32:17.012332: gopls.CodeAction() call; params:
2019-05-22T04:32:17.012332: &protocol.CodeActionParams{
2019-05-22T04:32:17.012332:     TextDocument: protocol.TextDocumentIdentifier{URI:"file:///tmp/go-test-script860551799/script-complete_watched/main.go"},
2019-05-22T04:32:17.012332:     Range:        protocol.Range{},
2019-05-22T04:32:17.012332:     Context:      protocol.CodeActionContext{},
2019-05-22T04:32:17.012332: }
2019-05-22T04:32:17.012332: gopls server end =======================
2019-05-22T04:32:17.109535: gopls client start =======================
2019-05-22T04:32:17.109535: LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"invalid position for file "}
2019-05-22T04:32:17.109535: gopls client end =======================
2019-05-22T04:32:17.110096: gopls client start =======================
2019-05-22T04:32:17.110096: LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"unable to check package for file:///tmp/go-test-script860551799/script-complete_watched/go.mod: parse: no package found for /tmp/go-test-script860551799/script-complete_watched/go.mod"}
2019-05-22T04:32:17.110096: gopls client end =======================
2019-05-22T04:32:17.209641: gopls client start =======================
2019-05-22T04:32:17.209641: LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"invalid position for file "}
2019-05-22T04:32:17.209641: gopls client end =======================
2019-05-22T04:32:17.209795: gopls server start =======================
2019-05-22T04:32:17.209795: gopls.CodeAction() return; err: ; res:
2019-05-22T04:32:17.209795: []protocol.CodeAction(nil)
2019-05-22T04:32:17.209795: gopls server end =======================
2019-05-22T04:32:17.211616: gopls client start =======================
2019-05-22T04:32:17.211616: LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"unable to check package for file:///tmp/go-test-script860551799/script-complete_watched/go.mod: parse: no package found for /tmp/go-test-script860551799/script-complete_watched/go.mod"}
2019-05-22T04:32:17.211616: gopls client end =======================
2019-05-22T04:32:17.212019: gopls client start =======================
2019-05-22T04:32:17.212019: PublishDiagnostics callback: &protocol.PublishDiagnosticsParams{
2019-05-22T04:32:17.212019:     URI:         "file:///tmp/go-test-script860551799/script-complete_watched/go.mod",
2019-05-22T04:32:17.212019:     Version:     0,
2019-05-22T04:32:17.212019:     Diagnostics: {
2019-05-22T04:32:17.212019:         {
2019-05-22T04:32:17.212019:             Range:              protocol.Range{},
2019-05-22T04:32:17.212019:             Severity:           1,
2019-05-22T04:32:17.212019:             Code:               nil,
2019-05-22T04:32:17.212019:             Source:             "LSP",
2019-05-22T04:32:17.212019:             Message:            "file:///tmp/go-test-script860551799/script-complete_watched/go.mod is not part of a package",
2019-05-22T04:32:17.212019:             Tags:               nil,
2019-05-22T04:32:17.212019:             RelatedInformation: nil,
2019-05-22T04:32:17.212019:         },
2019-05-22T04:32:17.212019:     },
2019-05-22T04:32:17.212019: }
2019-05-22T04:32:17.212019: gopls client end =======================
2019-05-22T04:32:17.212608: gopls server start =======================
2019-05-22T04:32:17.212608: gopls.Shutdown() call
2019-05-22T04:32:17.212608: gopls server end =======================
2019-05-22T04:32:17.212807: gopls server start =======================
2019-05-22T04:32:17.212807: gopls.Shutdown() return; err: 
2019-05-22T04:32:17.212807: gopls server end =======================

The opening of the go.mod causes the error lines:

LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"invalid position for file "}

and

LogMessage callback: &protocol.LogMessageParams{Type:1, Message:"unable to check package for file:///tmp/go-test-script860551799/script-complete_watched/go.mod: parse: no package found for /tmp/go-test-script860551799/script-complete_watched/go.mod"}

If the go.mod is not opened, these error messages are not reported.

What did you expect to see?

No error messages for the go.mod file.

What did you see instead?

The above error messages

cc @stamblerre @ianthehat

@myitcv myitcv added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. gopls Issues related to the Go language server, gopls. labels May 22, 2019
@gopherbot gopherbot added this to the Unreleased milestone May 22, 2019
@stamblerre
Copy link
Contributor

I'm having a hard time reproducing this. Can you give the contents of the Go file and the go.mod file? Did you trigger the completion from inside the go.mod?

@myitcv
Copy link
Member Author

myitcv commented May 22, 2019

No, the completion is triggered within the .go file:

2019-05-22T04:32:16.218345: &protocol.CompletionParams{
2019-05-22T04:32:16.218345:     Context:                    (*protocol.CompletionContext)(nil),
2019-05-22T04:32:16.218345:     TextDocumentPositionParams: protocol.TextDocumentPositionParams{
2019-05-22T04:32:16.218345:         TextDocument: protocol.TextDocumentIdentifier{URI:"file:///tmp/go-test-script860551799/script-complete_watched/main.go"},
2019-05-22T04:32:16.218345:         Position:     protocol.Position{Line:5, Character:13},
2019-05-22T04:32:16.218345:     },
2019-05-22T04:32:16.218345: }

The error messages start coming back after I've opened the go.mod file:

2019-05-22T04:32:17.006169: &protocol.DidOpenTextDocumentParams{
2019-05-22T04:32:17.006169:     TextDocument: protocol.TextDocumentItem{URI:"file:///tmp/go-test-script860551799/script-complete_watched/go.mod", LanguageID:"", Version:0, Text:"module mod.com\n\ngo 1.12\n"},
2019-05-22T04:32:17.006169: }

Regarding the contents of the files, they're in the log above - or did I misunderstand?

@stamblerre
Copy link
Contributor

Sorry, I had a difficult time finding them in the log - it's usually easier for me to repro something just based on file contents. I was able to reproduce the error though.

@gopherbot
Copy link

Change https://golang.org/cl/178679 mentions this issue: internal/lsp: don't show diagnostics for mod files

myitcv added a commit to govim/govim that referenced this issue Nov 25, 2019
Now that golang/go#32178 is fixed we can start
to watch changes to go.mod files and communicate those in the same way
that changes to .go files outside of the editor are.
myitcv added a commit to govim/govim that referenced this issue Nov 26, 2019
Now that golang/go#32178 is fixed we can start
to watch changes to go.mod files and communicate those in the same way
that changes to .go files outside of the editor are.
myitcv added a commit to govim/govim that referenced this issue Nov 27, 2019
Now that golang/go#32178 is fixed we can start
to watch changes to go.mod files and communicate those in the same way
that changes to .go files outside of the editor are.
myitcv added a commit to govim/govim that referenced this issue Nov 27, 2019
Now that golang/go#32178 is fixed we can start
to watch changes to go.mod files and communicate those in the same way
that changes to .go files outside of the editor are.
@golang golang locked and limited conversation to collaborators May 22, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

3 participants