ycm-core / YouCompleteMe

A code-completion engine for Vim
http://ycm-core.github.io/YouCompleteMe/
GNU General Public License v3.0
25.45k stars 2.81k forks source link

May `FixIt` Can not work for Golang. #3714

Closed yangxyo closed 4 years ago

yangxyo commented 4 years ago

Issue Prelude

Please complete these steps and check these boxes (by putting an x inside the brackets) before filing your issue:

Thank you for adhering to this process! It ensures your issue is resolved quickly and that neither your nor our time is needlessly wasted.

Issue Details

Provide a clear description of the problem, including the following key questions:

function! BuildYCM(info) " - name: YouCompleteMe " - status: 'installed' if a:info.status == 'installed' || a:info.force !python3 ./install.py --clangd-completer --go-completer --ts-completer !python3 .ycm_extra_conf.py ~/.vim/plugged/YouCompleteMe/third_party/ycmd endif endfunction

call plug#begin('~/.vim/plugged') Plug 'ycm-core/YouCompleteMe', {'do': function('BuildYCM')} call plug#end()

nnoremap fx :YcmCompleter FixIt


* What did you expect to happen?
I want the easy error of golang can be fixed by `FixIt`.

* What actually happened?
Always show "no fixits found for current line":

![image](https://user-images.githubusercontent.com/32320149/86368504-d3fb9380-bcaf-11ea-9833-d9ce447a8557.png)

![image](https://user-images.githubusercontent.com/32320149/86369457-0ce83800-bcb1-11ea-9c24-a4fb6cf2f2cb.png)

**But, it can work in javascript.**

> Include description of the observed behaviour, including actual output,
> screenshots, etc.

# Diagnostic data

## Output of `vim --version`

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jul 1 2020 06:21:28) macOS version Included patches: 1-1100 Compiled by Homebrew Huge version without GUI. Features included (+) or not (-): +acl -farsi +mouse_sgr +tag_binary +arabic +file_in_path -mouse_sysmouse -tag_old_static +autocmd +find_in_path +mouse_urxvt -tag_any_white +autochdir +float +mouse_xterm -tcl -autoservername +folding +multi_byte +termguicolors -balloon_eval -footer +multi_lang +terminal +balloon_eval_term +fork() -mzscheme +terminfo -browse +gettext +netbeans_intg +termresponse ++builtin_terms -hangul_input +num64 +textobjects +byte_offset +iconv +packages +textprop +channel +insert_expand +path_extra +timers +cindent +ipv6 +perl +title -clientserver +job +persistent_undo -toolbar +clipboard +jumplist +popupwin +user_commands +cmdline_compl +keymap +postscript +vartabs +cmdline_hist +lambda +printer +vertsplit +cmdline_info +langmap +profile +virtualedit +comments +libcall -python +visual +conceal +linebreak +python3 +visualextra +cryptv +lispindent +quickfix +viminfo +cscope +listcmds +reltime +vreplace +cursorbind +localmap +rightleft +wildignore +cursorshape +lua +ruby +wildmenu +dialog_con +menu +scrollbind +windows +diff +mksession +signs +writebackup +digraphs +modify_fname +smartindent -X11 -dnd +mouse -sound -xfontset -ebcdic -mouseshape +spell -xim +emacs_tags +mouse_dec +startuptime -xpm +eval -mouse_gpm +statusline -xsmp +ex_extra -mouse_jsbterm -sun_workshop -xterm_clipboard +extra_search +mouse_netterm +syntax -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" fall-back for $VIM: "/usr/local/share/vim" Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X -DMACOS_X_DARWIN -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o vim -lncurses -liconv -lintl -framework AppKit -L/usr/local/opt/lua/lib -llua5.3 -mmacosx-version-min=10.15 -fstack-protector-strong -L/usr/local/lib -L/usr/local/Cellar/perl/5.32.0/lib/perl5/5.32.0/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -L/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/config-3.8-darwin -lpython3.8 -framework CoreFoundation -lruby.2.7


## Output of `YcmDebugInfo`

YcmDebugInfo Printing YouCompleteMe debug information... -- Completion API: 1 -- Client logfile: /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/y cm_sw7oq1xj.log -- Server Python interpreter: /usr/local/opt/python/bin/python3.7 -- Server Python version: 3.7.7 -- Server has Clang support compiled in: False -- Clang version: None -- Extra configuration file found and loaded -- Extra configuration path: /Users/sweeney/.vim/plugged/YouCompleteM e/third_party/ycmd/.ycm_extra_conf.py -- Go completer debug information: -- gopls running -- gopls process ID: 67014 -- gopls executable: ['/Users/sweeney/.vim/plugged/YouCompleteMe/th ird_party/ycmd/third_party/go/bin/gopls', '-logfile', '/var/folders/9 n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderrldszqlkj.log'] -- gopls logfiles: -- /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderrl dszqlkj.log -- gopls Server State: Initialized -- gopls Project Directory: /Users/sweeney/code/go/src/gotest -- gopls Settings: { -- "fuzzyMatching": false, -- "hoverKind": "Structured"


## Output of `YcmDiags`

YcmDebugInfo Printing YouCompleteMe debug information... -- Completion API: 1 -- Client logfile: /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/y cm_sw7oq1xj.log -- Server Python interpreter: /usr/local/opt/python/bin/python3.7 -- Server Python version: 3.7.7 -- Server has Clang support compiled in: False -- Clang version: None -- Extra configuration file found and loaded -- Extra configuration path: /Users/sweeney/.vim/plugged/YouCompleteM e/third_party/ycmd/.ycm_extra_conf.py -- Go completer debug information: -- gopls running -- gopls process ID: 67014 -- gopls executable: ['/Users/sweeney/.vim/plugged/YouCompleteMe/th ird_party/ycmd/third_party/go/bin/gopls', '-logfile', '/var/folders/9 n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderrldszqlkj.log'] -- gopls logfiles: -- /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderrl dszqlkj.log -- gopls Server State: Initialized -- gopls Project Directory: /Users/sweeney/code/go/src/gotest -- gopls Settings: { -- "fuzzyMatching": false, -- "hoverKind": "Structured" } -- Server running at: http://127.0.0.1:63812 -- Server process ID: 66978 -- Server logfiles: -- /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/ycmd_63812_stdout_vtrw0md1.log -- /var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/ycmd_63812_stderr_mzdrdfg5.log


## Output of `git rev-parse HEAD` in YouCompleteMe installation directory

f9906f804b02e6b7e70a7f1a6f949e905784b5b9



## OS version, distribution, etc.

> Include system information here.

MacOS Catalina 10.15.5
bstaletic commented 4 years ago

You'll have to provide logs. All of them. See :YcmToggleLogs.

yangxyo commented 4 years ago
Which logfile do you wish to open (or close if already open)?
1: gopls_stderrpj7vppw6.log
2: ycm_0y0pl2y_.log
3: ycmd_55845_stderr_vbf40n8_.log
4: ycmd_55845_stdout_798c24zj.log
Type number and <Enter> or click with mouse (empty cancels):

First one, nothing. Second one:

2020-07-03 00:13:57,035 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=55917): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x103335bd0>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 00:13:57,139 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=55917): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10334f550>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 00:13:57,244 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=55917): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10335a150>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 00:17:16,515 - ERROR - Error while handling server response
Traceback (most recent call last):
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/python/ycm/client/base_request.py", line 73, in HandleFuture
    return _JsonFromFuture( future )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/python/ycm/client/base_request.py", line 256, in _JsonFromFuture
    raise MakeServerException( response.json() )
ycmd.responses.ServerError: ResponseFailedException: Request failed: 0: computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)

The third one, in this time, noting.

Four,

serving on http://localhost:55845
bstaletic commented 4 years ago

You'll need to get verbose logs. Put let g:ycm_log_level='debug' and please post entire logs.

yangxyo commented 4 years ago
[Trace - 09:21:40.408 AM] Sending request 'initialize - (1)'.
Params: {"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"completion":{"completionItem":{"documentationFormat":["plaintext","markdown"]},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"contentFormat":["plaintext","markdown"]},"signatureHelp":{"signatureInformation":{"documentationFormat":["plaintext","markdown"],"parameterInformation":{"labelOffsetSupport":false}}},"synchronization":{"didSave":true}},"workspace":{"applyEdit":true,"didChangeWatchedFiles":{"dynamicRegistration":true},"documentChanges":true}},"initializationOptions":{"fuzzyMatching":false,"hoverKind":"Structured"},"processId":94335,"rootPath":"/Users/sweeney/code/go/src/gotest","rootUri":"file:///Users/sweeney/code/go/src/gotest"}

[Trace - 09:21:40.410 AM] Received response 'initialize - (1)' in 1ms.
Result: {"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":true,"foldingRangeProvider":true,"executeCommandProvider":{"commands":["tidy","upgrade.dependency","generate"]},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":""}}

[Trace - 09:21:40.411 AM] Sending notification 'initialized'.
Params: {}

[Trace - 09:21:40.412 AM] Sending notification 'workspace/didChangeConfiguration'.
Params: {"settings":{"fuzzyMatching":false,"hoverKind":"Structured"}}

[Trace - 09:21:40.412 AM] Received request 'client/registerCapability - (1)'.
Params: {"registrations":[{"id":"workspace/didChangeWatchedFiles","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.go","kind":7}]}}]}

[Trace - 09:21:40.413 AM] Sending notification 'textDocument/didOpen'.
Params: {"textDocument":{"languageId":"go","text":"package main\n\nimport \"fmt\"\n\nfunc main() {\n\tvar b int\n\tfmt.Println(\"Hello GopherCon\")\n}\n","uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":1}}

[Trace - 09:21:40.415 AM] Sending response 'client/registerCapability - (1)' took 3ms.
Result: {}

[Trace - 09:21:40.428 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2020/07/03 09:21:40 Build info\n----------\ngolang.org/x/tools/gopls 0.4.0\n    golang.org/x/tools/gopls@v0.4.0 h1:G4+YP9kaV4dJb79J5MobyApxX493Qa6VoiTceUmxqik=\n    github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=\n    github.com/sergi/go-diff@v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\n    golang.org/x/mod@v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=\n    golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=\n    golang.org/x/tools@v0.0.0-20200407041343-bf15fae40dea h1:DUwLyMDMUauGMd9kSLIlhhYJNELm06HuxeBdkFkeax4=\n    golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=\n    honnef.co/go/tools@v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=\n    mvdan.cc/xurls/v2@v2.1.0 h1:KaMb5GLhlcSX+e+qhbRJODnUUBvlw01jt4yrjFIHAuA=\n\nGo info\n-------\ngo version go1.14.4 darwin/amd64\n\n"}

[Trace - 09:21:40.858 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2020/07/03 09:21:40 go env for /Users/sweeney/code/go/src/gotest\n(valid build configuration = true)\n(build flags: [-modfile=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go.gotest.135432998.mod])\nGO111MODULE=\"\"\nGOARCH=\"amd64\"\nGOBIN=\"\"\nGOCACHE=\"/Users/sweeney/Library/Caches/go-build\"\nGOENV=\"/Users/sweeney/Library/Application Support/go/env\"\nGOEXE=\"\"\nGOFLAGS=\"\"\nGOHOSTARCH=\"amd64\"\nGOHOSTOS=\"darwin\"\nGOINSECURE=\"\"\nGONOPROXY=\"\"\nGONOSUMDB=\"\"\nGOOS=\"darwin\"\nGOPATH=\"/Users/sweeney/code/go\"\nGOPRIVATE=\"\"\nGOPROXY=\"https://proxy.golang.org,direct\"\nGOROOT=\"/usr/local/Cellar/go/1.14.4/libexec\"\nGOSUMDB=\"sum.golang.org\"\nGOTMPDIR=\"\"\nGOTOOLDIR=\"/usr/local/Cellar/go/1.14.4/libexec/pkg/tool/darwin_amd64\"\nGCCGO=\"gccgo\"\nAR=\"ar\"\nCC=\"clang\"\nCXX=\"clang++\"\nCGO_ENABLED=\"1\"\nGOMOD=\"/Users/sweeney/code/go/src/gotest/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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go-build254561657=/tmp/go-build -gno-record-gcc-switches -fno-common\"\n"}

[Trace - 09:21:40.904 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2020/07/03 09:21:40 go/packages.Load\n\tsnapshot=0\n\tdirectory=/Users/sweeney/code/go/src/gotest\n\tquery=[./... builtin]\n\tpackages=2"}

[Trace - 09:21:41.269 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","diagnostics":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":6}},"severity":1,"source":"compiler","message":"b declared but not used"}]}

[Trace - 09:21:43.849 AM] Sending request 'textDocument/codeAction - (2)'.
Params: {"context":{"diagnostics":[{"message":"b declared but not used","range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"severity":1,"source":"compiler"}]},"range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}

[Trace - 09:21:43.903 AM] Received response 'textDocument/codeAction - (2)' in 54ms.
Result: {}

[Trace - 09:22:13.905 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2020/07/03 09:22:13 background imports cache refresh starting"}

[Trace - 09:22:17.216 AM] Received notification 'window/logMessage'.
Params: {"type":3,"message":"2020/07/03 09:22:17 background refresh finished after 3.311162492s"}

[Trace - 09:22:54.736 AM] Sending notification 'textDocument/didChange'.
Params: {"contentChanges":[{"text":"package main\n\nimport \"fmt\"\n\na\nfunc main() {\n\tvar b int\n\tfmt.Println(\"Hello GopherCon\")\n}\n"}],"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":2}}

[Trace - 09:22:54.739 AM] Received notification 'textDocument/publishDiagnostics'.
Params: {"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":2,"diagnostics":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":0}},"severity":1,"source":"syntax","message":"expected declaration, found a"}]}

[Trace - 09:22:56.256 AM] Sending request 'textDocument/codeAction - (3)'.
Params: {"context":{"diagnostics":[{"message":"expected declaration, found a","range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"severity":1,"source":"syntax"}]},"range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}

[Error - 09:22:56.256 AM] Received #3 computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)
2020-07-03 09:21:39,488 - DEBUG - GET b'http://127.0.0.1:56967/ready' (None)
{'content-type': 'application/json', 'x-ycm-hmac': b'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI='}
2020-07-03 09:21:39,723 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102cdeb90>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 09:21:39,829 - DEBUG - GET b'http://127.0.0.1:56967/ready' (None)
{'content-type': 'application/json', 'x-ycm-hmac': b'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI='}
2020-07-03 09:21:39,831 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102cf6950>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 09:21:39,939 - DEBUG - GET b'http://127.0.0.1:56967/ready' (None)
{'content-type': 'application/json', 'x-ycm-hmac': b'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI='}
2020-07-03 09:21:39,943 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102cff550>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 09:21:40,048 - DEBUG - GET b'http://127.0.0.1:56967/ready' (None)
{'content-type': 'application/json', 'x-ycm-hmac': b'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI='}
2020-07-03 09:21:40,050 - ERROR - HTTPConnectionPool(host='127.0.0.1', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102d09350>: Failed to establish a new connection: [Errno 61] Connection refused'))
2020-07-03 09:21:40,154 - DEBUG - GET b'http://127.0.0.1:56967/ready' (None)
{'content-type': 'application/json', 'x-ycm-hmac': b'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI='}
2020-07-03 09:21:40,158 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:21:40,160 - DEBUG - GET b'http://127.0.0.1:56967/signature_help_available' ({'subserver': 'go'})
{'content-type': 'application/json', 'x-ycm-hmac': b'Qxm94An8GmD/7LxiSs30cg3Q+5vRQTJQWZjep53SJQ8='}
2020-07-03 09:21:40,337 - DEBUG - POST b'http://127.0.0.1:56967/event_notification'
{'content-type': 'application/json', 'x-ycm-hmac': b'W6zZpFdoDyu7pzKNR6Lme3pRdfceTecJRbSujO5alGo='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "ultisnips_snippets": [{"trigger": "vr", "description": "variable initialization"}, {"trigger": "errt", "description": "Error test fatal "}, {"trigger": "lf", "description": "log.Printf(...)"}, {"trigger": "def", "description": "defer func() { ... }"}, {"trigger": "ga", "description": "goroutine anonymous function"}, {"trigger": "errwr", "description": "Error handling with errors.Wrap"}, {"trigger": "tt", "description": ""}, {"trigger": "fori", "description": "for 0..N-1 { ... }"}, {"trigger": "err", "description": "Basic error handling"}, {"trigger": "gg", "description": "Grouped globals with anonymous struct"}, {"trigger": "pf", "description": "fmt.Printf()"}, {"trigger": "fum", "description": "method"}, {"trigger": "errnw", "description": "Error return wrap"}, {"trigger": "tsrv", "description": "httptest.NewServer"}, {"trigger": "forr", "description": "for k, v := range items { ... }"}, {"trigger": "go", "description": "go someFunc(...)"}, {"trigger": "LGPL2", "description": ""}, {"trigger": "bl", "description": "bool"}, {"trigger": "vars", "description": "var ( ... )"}, {"trigger": "map", "description": "map[Type]Type"}, {"trigger": "GMGPL", "description": "linking exception"}, {"trigger": "br", "description": "break"}, {"trigger": "df", "description": "defer someFunction()"}, {"trigger": "bt", "description": "byte"}, {"trigger": "foldp", "description": "Insert a vim fold marker pair"}, {"trigger": "terf", "description": "if err != nil { t.Fatalf(...) }"}, {"trigger": "diso", "description": "ISO format datetime"}, {"trigger": "con", "description": "const XXX Type = ..."}, {"trigger": "t", "description": "true"}, {"trigger": "forsel", "description": "for select"}, {"trigger": "nw", "description": "new"}, {"trigger": "errn,", "description": "Error return with two return values"}, {"trigger": "testt", "description": "table test function"}, {"trigger": "ok", "description": "if !ok { ... }"}, {"trigger": "MPL2", "description": ""}, {"trigger": "c)", "description": ""}, {"trigger": ":", "description": "v := value"}, {"trigger": "ir", "description": "if error not nil, return err"}, {"trigger": "ln", "description": "log.Println(...)"}, {"trigger": "select", "description": "select { case a := <-chan: ... }"}, {"trigger": "else", "description": ""}, {"trigger": "ife", "description": "If with inline error"}, {"trigger": "el", "description": "else"}, {"trigger": "interface", "description": "interface I { ... }"}, {"trigger": "eq", "description": "equals: test two identifiers with DeepEqual"}, {"trigger": "fun", "description": "function"}, {"trigger": "ew", "description": "errors.Wrap"}, {"trigger": "ja", "description": "Marshalable json alias"}, {"trigger": "box", "description": "A nice box with the current comment symbol"}, {"trigger": "ter", "description": "if err != nil { t.Errorf(...) }"}, {"trigger": "struct", "description": "Struct declaration"}, {"trigger": "f", "description": "false"}, {"trigger": "MIT", "description": ""}, {"trigger": "g", "description": "goroutine named function"}, {"trigger": "rn", "description": "range"}, {"trigger": "todo", "description": "TODO comment"}, {"trigger": "mk", "description": "make"}, {"trigger": "rs", "description": "result"}, {"trigger": "hf", "description": "http.HandlerFunc"}, {"trigger": "bbox", "description": "A nice box over the full width"}, {"trigger": "bench", "description": "benchmark function"}, {"trigger": "dfr", "description": "defer recover"}, {"trigger": "BEERWARE", "description": ""}, {"trigger": "v", "description": "shorthand variable declaration"}, {"trigger": "ch", "description": "chan Type"}, {"trigger": "errnfw", "description": "Error return fmt.Errorf(%w, err)"}, {"trigger": "test", "description": "func TestXYZ(t *testing.T) { ... }"}, {"trigger": "cl", "description": "composite literals"}, {"trigger": "foldc", "description": "Insert a vim fold close marker"}, {"trigger": "cn", "description": "continue"}, {"trigger": "co", "description": "constants with iota"}, {"trigger": "lorem", "description": ""}, {"trigger": "gof", "description": "go func() { ... }()"}, {"trigger": "cs", "description": "case"}, {"trigger": "func", "description": "func Function(...) [error] { ... }"}, {"trigger": "LGPL3", "description": ""}, {"trigger": "f3", "description": "float32"}, {"trigger": "GPL2", "description": ""}, {"trigger": "GPL3", "description": ""}, {"trigger": "time", "description": "hh:mm"}, {"trigger": "default", "description": "default: ..."}, {"trigger": "lp", "description": "log println"}, {"trigger": "json", "description": "\\\\`json:key\\\\`"}, {"trigger": "pa", "description": "package"}, {"trigger": "errn,wf", "description": "Error return wrapf with two return values"}, {"trigger": "rt", "description": "return"}, {"trigger": "errn,w", "description": "Error return wrap with two return values"}, {"trigger": "hhf", "description": "mux.HandleFunc"}, {"trigger": "import", "description": "import ( ... )"}, {"trigger": "pl", "description": "fmt.Println()"}, {"trigger": "WTFPL", "description": ""}, {"trigger": "pn", "description": "panic()"}, {"trigger": "mp", "description": "map"}, {"trigger": "defr", "description": ""}, {"trigger": "meth", "description": "func (self Type) Method(...) [error] { ... }"}, {"trigger": "fe", "description": "fmt.Errorf(...)"}, {"trigger": "ff", "description": "fmt.Printf(...)"}, {"trigger": "fold", "description": "Insert a vim fold marker"}, {"trigger": "ap=", "description": "a = append(a, value)"}, {"trigger": "cons", "description": "const ( ... )"}, {"trigger": "errnwf", "description": "Error return wrapf"}, {"trigger": "fl", "description": "float"}, {"trigger": "fn", "description": "fmt.Println(...)"}, {"trigger": "make", "description": "make(Type, size)"}, {"trigger": "ps", "description": "fmt.Sprintf"}, {"trigger": "selc", "description": "select case"}, {"trigger": "ft", "description": "fallthrough"}, {"trigger": "for", "description": "for ... { ... }"}, {"trigger": "case", "description": "case ...:"}, {"trigger": "ap", "description": "append(slice, value)"}, {"trigger": "date", "description": "YYYY-MM-DD"}, {"trigger": "f6", "description": "float64"}, {"trigger": "tswitch", "description": "type switch x { ... }"}, {"trigger": "AGPL3", "description": ""}, {"trigger": "var", "description": "var x Type [= ...]"}, {"trigger": "uuid", "description": "Random UUID"}, {"trigger": "example", "description": "func ExampleXYZ() { ... }"}, {"trigger": "few", "description": "fmt.Errorf(%w, err)"}, {"trigger": "iota", "description": "const ( ... = iota )"}, {"trigger": "sl", "description": "select"}, {"trigger": "inf", "description": "full interface "}, {"trigger": "sp", "description": "fmt.Sprintf(...)"}, {"trigger": "sr", "description": "string"}, {"trigger": "if", "description": "if ... { ... }"}, {"trigger": "sw", "description": "switch"}, {"trigger": "modeline", "description": "Vim modeline"}, {"trigger": "fumh", "description": "http handler function on reciever"}, {"trigger": "ddate", "description": "Month DD, YYYY"}, {"trigger": "BSD2", "description": ""}, {"trigger": "BSD3", "description": ""}, {"trigger": "BSD4", "description": ""}, {"trigger": "benchmark", "description": "func BenchmarkXYZ(b *testing.B) { ... }"}, {"trigger": "im", "description": "import"}, {"trigger": "datetime", "description": "YYYY-MM-DD hh:mm"}, {"trigger": "ISC", "description": ""}, {"trigger": "switch", "description": "switch x { ... }"}, {"trigger": "yaml", "description": "\\\\`yaml:key\\\\`"}, {"trigger": "AGPL", "description": ""}, {"trigger": "funch", "description": "HTTP handler"}, {"trigger": "gpl", "description": ""}, {"trigger": "main", "description": "func main() { ... }"}, {"trigger": "ffh", "description": "fmt.Printf(#...) hash"}, {"trigger": "st", "description": "type T struct { ... }"}, {"trigger": "anon", "description": "fn := func() { ... }"}, {"trigger": "errh", "description": "Error handle and return"}, {"trigger": "ewf", "description": "errors.Wrapf"}, {"trigger": "om", "description": "if key in a map"}, {"trigger": "package", "description": "package ..."}, {"trigger": "errl", "description": "Error with log.Fatal(err)"}, {"trigger": "APACHE", "description": ""}, {"trigger": "errn", "description": "Error return"}, {"trigger": "errp", "description": "Error panic"}, {"trigger": "in", "description": "interface"}], "event_name": "BufferVisit"}'
2020-07-03 09:21:40,346 - DEBUG - POST b'http://127.0.0.1:56967/event_notification'
{'content-type': 'application/json', 'x-ycm-hmac': b'Z0iWbsPNaRH5l+LfbY8Y2DFXnV14I6nHDLUsGd63G8c='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "syntax_keywords": ["iota", "interface", "rune", "int16", "int32", "type", "range", "select", "nil", "if", "float64", "string", "goto", "bool", "chan", "int", "for", "return", "else", "int8", "switch", "uint", "import", "break", "defer", "uint32", "map", "uint16", "complex64", "var", "uint64", "go", "true", "error", "int64", "uint8", "package", "case", "continue", "default", "struct", "const", "float32", "complex128", "func", "false", "uintptr", "byte", "fallthrough"], "event_name": "FileReadyToParse"}'
2020-07-03 09:21:40,350 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:40,453 - DEBUG - POST b'http://127.0.0.1:56967/semantic_completion_available'
{'content-type': 'application/json', 'x-ycm-hmac': b'wSLTuXkXMEyAo/pqxbUkd+SnarIlQ0sKsEf6dHAqXwY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 6, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "filetypes": "go"}'
2020-07-03 09:21:40,457 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:21:40,458 - DEBUG - RX: <Response [200]>
{}
2020-07-03 09:21:40,459 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:21:40,460 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:41,280 - DEBUG - RX: <Response [200]>
[{"diagnostics":[{"ranges":[{"start":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":6,"column_num":7,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}}],"location":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"location_extent":{"start":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":6,"column_num":7,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}},"text":"b declared but not used","kind":"ERROR","fixit_available":false}],"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}]
2020-07-03 09:21:41,297 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:43,845 - DEBUG - POST b'http://127.0.0.1:56967/run_completer_command'
{'content-type': 'application/json', 'x-ycm-hmac': b'iqNgUiFsTXLwjlY302MeIzcmolMPmZ4hYsZGFgsT6Gw='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 6, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "options": {"tab_size": 4, "insert_spaces": false}, "command_arguments": ["FixIt"]}'
2020-07-03 09:21:43,905 - DEBUG - RX: <Response [200]>
{"fixits":[]}
2020-07-03 09:21:51,348 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:21:51,348 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:52,356 - DEBUG - POST b'http://127.0.0.1:56967/debug_info'
{'content-type': 'application/json', 'x-ycm-hmac': b'QoES5a21GQ6c7a09DrcHN0BmVpkzHiiAqZWNeHaVUQE='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 6, "column_num": 5, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:52,361 - DEBUG - RX: <Response [200]>
{"python":{"executable":"/usr/local/opt/python/bin/python3.7","version":"3.7.7"},"clang":{"has_support":false,"version":null},"extra_conf":{"path":"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py","is_loaded":true},"completer":{"name":"Go","servers":[{"name":"gopls","is_running":true,"executable":["/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/go/bin/gopls","-logfile","/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log","-rpc.trace"],"address":null,"port":null,"pid":94371,"logfiles":["/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log"],"extras":[{"key":"Server State","value":"Initialized"},{"key":"Project Directory","value":"/Users/sweeney/code/go/src/gotest"},{"key":"Settings","value":"{\n  \"fuzzyMatching\": false,\n  \"hoverKind\": \"Structured\"\n}"}]}],"items":[]}}
2020-07-03 09:21:54,370 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'dPf6W0OnYIu/+WK3V8KQqh86v42FIzmpMipp1EVnrIE='}
b'{"filepath": "/private/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/ycm_lbaroas_.log", "line_num": 1, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/private/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/ycm_lbaroas_.log": {"contents": "2020-07-03 09:21:39,488 - DEBUG - GET b\'http://127.0.0.1:56967/ready\' (None)\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI=\'}\\n2020-07-03 09:21:39,723 - ERROR - HTTPConnectionPool(host=\'127.0.0.1\', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError(\'<urllib3.connection.HTTPConnection object at 0x102cdeb90>: Failed to establish a new connection: [Errno 61] Connection refused\'))\\n2020-07-03 09:21:39,829 - DEBUG - GET b\'http://127.0.0.1:56967/ready\' (None)\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI=\'}\\n2020-07-03 09:21:39,831 - ERROR - HTTPConnectionPool(host=\'127.0.0.1\', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError(\'<urllib3.connection.HTTPConnection object at 0x102cf6950>: Failed to establish a new connection: [Errno 61] Connection refused\'))\\n2020-07-03 09:21:39,939 - DEBUG - GET b\'http://127.0.0.1:56967/ready\' (None)\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI=\'}\\n2020-07-03 09:21:39,943 - ERROR - HTTPConnectionPool(host=\'127.0.0.1\', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError(\'<urllib3.connection.HTTPConnection object at 0x102cff550>: Failed to establish a new connection: [Errno 61] Connection refused\'))\\n2020-07-03 09:21:40,048 - DEBUG - GET b\'http://127.0.0.1:56967/ready\' (None)\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI=\'}\\n2020-07-03 09:21:40,050 - ERROR - HTTPConnectionPool(host=\'127.0.0.1\', port=56967): Max retries exceeded with url: /ready (Caused by NewConnectionError(\'<urllib3.connection.HTTPConnection object at 0x102d09350>: Failed to establish a new connection: [Errno 61] Connection refused\'))\\n2020-07-03 09:21:40,154 - DEBUG - GET b\'http://127.0.0.1:56967/ready\' (None)\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'2/K7VtvsqN89XrkcHZElzJavNkR6bC1vS4UQl/CDBlI=\'}\\n2020-07-03 09:21:40,158 - DEBUG - RX: <Response [200]>\\ntrue\\n2020-07-03 09:21:40,160 - DEBUG - GET b\'http://127.0.0.1:56967/signature_help_available\' ({\'subserver\': \'go\'})\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'Qxm94An8GmD/7LxiSs30cg3Q+5vRQTJQWZjep53SJQ8=\'}\\n2020-07-03 09:21:40,337 - DEBUG - POST b\'http://127.0.0.1:56967/event_notification\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'W6zZpFdoDyu7pzKNR6Lme3pRdfceTecJRbSujO5alGo=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}, \\"ultisnips_snippets\\": [{\\"trigger\\": \\"vr\\", \\"description\\": \\"variable initialization\\"}, {\\"trigger\\": \\"errt\\", \\"description\\": \\"Error test fatal \\"}, {\\"trigger\\": \\"lf\\", \\"description\\": \\"log.Printf(...)\\"}, {\\"trigger\\": \\"def\\", \\"description\\": \\"defer func() { ... }\\"}, {\\"trigger\\": \\"ga\\", \\"description\\": \\"goroutine anonymous function\\"}, {\\"trigger\\": \\"errwr\\", \\"description\\": \\"Error handling with errors.Wrap\\"}, {\\"trigger\\": \\"tt\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"fori\\", \\"description\\": \\"for 0..N-1 { ... }\\"}, {\\"trigger\\": \\"err\\", \\"description\\": \\"Basic error handling\\"}, {\\"trigger\\": \\"gg\\", \\"description\\": \\"Grouped globals with anonymous struct\\"}, {\\"trigger\\": \\"pf\\", \\"description\\": \\"fmt.Printf()\\"}, {\\"trigger\\": \\"fum\\", \\"description\\": \\"method\\"}, {\\"trigger\\": \\"errnw\\", \\"description\\": \\"Error return wrap\\"}, {\\"trigger\\": \\"tsrv\\", \\"description\\": \\"httptest.NewServer\\"}, {\\"trigger\\": \\"forr\\", \\"description\\": \\"for k, v := range items { ... }\\"}, {\\"trigger\\": \\"go\\", \\"description\\": \\"go someFunc(...)\\"}, {\\"trigger\\": \\"LGPL2\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"bl\\", \\"description\\": \\"bool\\"}, {\\"trigger\\": \\"vars\\", \\"description\\": \\"var ( ... )\\"}, {\\"trigger\\": \\"map\\", \\"description\\": \\"map[Type]Type\\"}, {\\"trigger\\": \\"GMGPL\\", \\"description\\": \\"linking exception\\"}, {\\"trigger\\": \\"br\\", \\"description\\": \\"break\\"}, {\\"trigger\\": \\"df\\", \\"description\\": \\"defer someFunction()\\"}, {\\"trigger\\": \\"bt\\", \\"description\\": \\"byte\\"}, {\\"trigger\\": \\"foldp\\", \\"description\\": \\"Insert a vim fold marker pair\\"}, {\\"trigger\\": \\"terf\\", \\"description\\": \\"if err != nil { t.Fatalf(...) }\\"}, {\\"trigger\\": \\"diso\\", \\"description\\": \\"ISO format datetime\\"}, {\\"trigger\\": \\"con\\", \\"description\\": \\"const XXX Type = ...\\"}, {\\"trigger\\": \\"t\\", \\"description\\": \\"true\\"}, {\\"trigger\\": \\"forsel\\", \\"description\\": \\"for select\\"}, {\\"trigger\\": \\"nw\\", \\"description\\": \\"new\\"}, {\\"trigger\\": \\"errn,\\", \\"description\\": \\"Error return with two return values\\"}, {\\"trigger\\": \\"testt\\", \\"description\\": \\"table test function\\"}, {\\"trigger\\": \\"ok\\", \\"description\\": \\"if !ok { ... }\\"}, {\\"trigger\\": \\"MPL2\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"c)\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\":\\", \\"description\\": \\"v := value\\"}, {\\"trigger\\": \\"ir\\", \\"description\\": \\"if error not nil, return err\\"}, {\\"trigger\\": \\"ln\\", \\"description\\": \\"log.Println(...)\\"}, {\\"trigger\\": \\"select\\", \\"description\\": \\"select { case a := <-chan: ... }\\"}, {\\"trigger\\": \\"else\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"ife\\", \\"description\\": \\"If with inline error\\"}, {\\"trigger\\": \\"el\\", \\"description\\": \\"else\\"}, {\\"trigger\\": \\"interface\\", \\"description\\": \\"interface I { ... }\\"}, {\\"trigger\\": \\"eq\\", \\"description\\": \\"equals: test two identifiers with DeepEqual\\"}, {\\"trigger\\": \\"fun\\", \\"description\\": \\"function\\"}, {\\"trigger\\": \\"ew\\", \\"description\\": \\"errors.Wrap\\"}, {\\"trigger\\": \\"ja\\", \\"description\\": \\"Marshalable json alias\\"}, {\\"trigger\\": \\"box\\", \\"description\\": \\"A nice box with the current comment symbol\\"}, {\\"trigger\\": \\"ter\\", \\"description\\": \\"if err != nil { t.Errorf(...) }\\"}, {\\"trigger\\": \\"struct\\", \\"description\\": \\"Struct declaration\\"}, {\\"trigger\\": \\"f\\", \\"description\\": \\"false\\"}, {\\"trigger\\": \\"MIT\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"g\\", \\"description\\": \\"goroutine named function\\"}, {\\"trigger\\": \\"rn\\", \\"description\\": \\"range\\"}, {\\"trigger\\": \\"todo\\", \\"description\\": \\"TODO comment\\"}, {\\"trigger\\": \\"mk\\", \\"description\\": \\"make\\"}, {\\"trigger\\": \\"rs\\", \\"description\\": \\"result\\"}, {\\"trigger\\": \\"hf\\", \\"description\\": \\"http.HandlerFunc\\"}, {\\"trigger\\": \\"bbox\\", \\"description\\": \\"A nice box over the full width\\"}, {\\"trigger\\": \\"bench\\", \\"description\\": \\"benchmark function\\"}, {\\"trigger\\": \\"dfr\\", \\"description\\": \\"defer recover\\"}, {\\"trigger\\": \\"BEERWARE\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"v\\", \\"description\\": \\"shorthand variable declaration\\"}, {\\"trigger\\": \\"ch\\", \\"description\\": \\"chan Type\\"}, {\\"trigger\\": \\"errnfw\\", \\"description\\": \\"Error return fmt.Errorf(%w, err)\\"}, {\\"trigger\\": \\"test\\", \\"description\\": \\"func TestXYZ(t *testing.T) { ... }\\"}, {\\"trigger\\": \\"cl\\", \\"description\\": \\"composite literals\\"}, {\\"trigger\\": \\"foldc\\", \\"description\\": \\"Insert a vim fold close marker\\"}, {\\"trigger\\": \\"cn\\", \\"description\\": \\"continue\\"}, {\\"trigger\\": \\"co\\", \\"description\\": \\"constants with iota\\"}, {\\"trigger\\": \\"lorem\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"gof\\", \\"description\\": \\"go func() { ... }()\\"}, {\\"trigger\\": \\"cs\\", \\"description\\": \\"case\\"}, {\\"trigger\\": \\"func\\", \\"description\\": \\"func Function(...) [error] { ... }\\"}, {\\"trigger\\": \\"LGPL3\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"f3\\", \\"description\\": \\"float32\\"}, {\\"trigger\\": \\"GPL2\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"GPL3\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"time\\", \\"description\\": \\"hh:mm\\"}, {\\"trigger\\": \\"default\\", \\"description\\": \\"default: ...\\"}, {\\"trigger\\": \\"lp\\", \\"description\\": \\"log println\\"}, {\\"trigger\\": \\"json\\", \\"description\\": \\"\\\\\\\\\\\\\\\\`json:key\\\\\\\\\\\\\\\\`\\"}, {\\"trigger\\": \\"pa\\", \\"description\\": \\"package\\"}, {\\"trigger\\": \\"errn,wf\\", \\"description\\": \\"Error return wrapf with two return values\\"}, {\\"trigger\\": \\"rt\\", \\"description\\": \\"return\\"}, {\\"trigger\\": \\"errn,w\\", \\"description\\": \\"Error return wrap with two return values\\"}, {\\"trigger\\": \\"hhf\\", \\"description\\": \\"mux.HandleFunc\\"}, {\\"trigger\\": \\"import\\", \\"description\\": \\"import ( ... )\\"}, {\\"trigger\\": \\"pl\\", \\"description\\": \\"fmt.Println()\\"}, {\\"trigger\\": \\"WTFPL\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"pn\\", \\"description\\": \\"panic()\\"}, {\\"trigger\\": \\"mp\\", \\"description\\": \\"map\\"}, {\\"trigger\\": \\"defr\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"meth\\", \\"description\\": \\"func (self Type) Method(...) [error] { ... }\\"}, {\\"trigger\\": \\"fe\\", \\"description\\": \\"fmt.Errorf(...)\\"}, {\\"trigger\\": \\"ff\\", \\"description\\": \\"fmt.Printf(...)\\"}, {\\"trigger\\": \\"fold\\", \\"description\\": \\"Insert a vim fold marker\\"}, {\\"trigger\\": \\"ap=\\", \\"description\\": \\"a = append(a, value)\\"}, {\\"trigger\\": \\"cons\\", \\"description\\": \\"const ( ... )\\"}, {\\"trigger\\": \\"errnwf\\", \\"description\\": \\"Error return wrapf\\"}, {\\"trigger\\": \\"fl\\", \\"description\\": \\"float\\"}, {\\"trigger\\": \\"fn\\", \\"description\\": \\"fmt.Println(...)\\"}, {\\"trigger\\": \\"make\\", \\"description\\": \\"make(Type, size)\\"}, {\\"trigger\\": \\"ps\\", \\"description\\": \\"fmt.Sprintf\\"}, {\\"trigger\\": \\"selc\\", \\"description\\": \\"select case\\"}, {\\"trigger\\": \\"ft\\", \\"description\\": \\"fallthrough\\"}, {\\"trigger\\": \\"for\\", \\"description\\": \\"for ... { ... }\\"}, {\\"trigger\\": \\"case\\", \\"description\\": \\"case ...:\\"}, {\\"trigger\\": \\"ap\\", \\"description\\": \\"append(slice, value)\\"}, {\\"trigger\\": \\"date\\", \\"description\\": \\"YYYY-MM-DD\\"}, {\\"trigger\\": \\"f6\\", \\"description\\": \\"float64\\"}, {\\"trigger\\": \\"tswitch\\", \\"description\\": \\"type switch x { ... }\\"}, {\\"trigger\\": \\"AGPL3\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"var\\", \\"description\\": \\"var x Type [= ...]\\"}, {\\"trigger\\": \\"uuid\\", \\"description\\": \\"Random UUID\\"}, {\\"trigger\\": \\"example\\", \\"description\\": \\"func ExampleXYZ() { ... }\\"}, {\\"trigger\\": \\"few\\", \\"description\\": \\"fmt.Errorf(%w, err)\\"}, {\\"trigger\\": \\"iota\\", \\"description\\": \\"const ( ... = iota )\\"}, {\\"trigger\\": \\"sl\\", \\"description\\": \\"select\\"}, {\\"trigger\\": \\"inf\\", \\"description\\": \\"full interface \\"}, {\\"trigger\\": \\"sp\\", \\"description\\": \\"fmt.Sprintf(...)\\"}, {\\"trigger\\": \\"sr\\", \\"description\\": \\"string\\"}, {\\"trigger\\": \\"if\\", \\"description\\": \\"if ... { ... }\\"}, {\\"trigger\\": \\"sw\\", \\"description\\": \\"switch\\"}, {\\"trigger\\": \\"modeline\\", \\"description\\": \\"Vim modeline\\"}, {\\"trigger\\": \\"fumh\\", \\"description\\": \\"http handler function on reciever\\"}, {\\"trigger\\": \\"ddate\\", \\"description\\": \\"Month DD, YYYY\\"}, {\\"trigger\\": \\"BSD2\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"BSD3\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"BSD4\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"benchmark\\", \\"description\\": \\"func BenchmarkXYZ(b *testing.B) { ... }\\"}, {\\"trigger\\": \\"im\\", \\"description\\": \\"import\\"}, {\\"trigger\\": \\"datetime\\", \\"description\\": \\"YYYY-MM-DD hh:mm\\"}, {\\"trigger\\": \\"ISC\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"switch\\", \\"description\\": \\"switch x { ... }\\"}, {\\"trigger\\": \\"yaml\\", \\"description\\": \\"\\\\\\\\\\\\\\\\`yaml:key\\\\\\\\\\\\\\\\`\\"}, {\\"trigger\\": \\"AGPL\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"funch\\", \\"description\\": \\"HTTP handler\\"}, {\\"trigger\\": \\"gpl\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"main\\", \\"description\\": \\"func main() { ... }\\"}, {\\"trigger\\": \\"ffh\\", \\"description\\": \\"fmt.Printf(#...) hash\\"}, {\\"trigger\\": \\"st\\", \\"description\\": \\"type T struct { ... }\\"}, {\\"trigger\\": \\"anon\\", \\"description\\": \\"fn := func() { ... }\\"}, {\\"trigger\\": \\"errh\\", \\"description\\": \\"Error handle and return\\"}, {\\"trigger\\": \\"ewf\\", \\"description\\": \\"errors.Wrapf\\"}, {\\"trigger\\": \\"om\\", \\"description\\": \\"if key in a map\\"}, {\\"trigger\\": \\"package\\", \\"description\\": \\"package ...\\"}, {\\"trigger\\": \\"errl\\", \\"description\\": \\"Error with log.Fatal(err)\\"}, {\\"trigger\\": \\"APACHE\\", \\"description\\": \\"\\"}, {\\"trigger\\": \\"errn\\", \\"description\\": \\"Error return\\"}, {\\"trigger\\": \\"errp\\", \\"description\\": \\"Error panic\\"}, {\\"trigger\\": \\"in\\", \\"description\\": \\"interface\\"}], \\"event_name\\": \\"BufferVisit\\"}\'\\n2020-07-03 09:21:40,346 - DEBUG - POST b\'http://127.0.0.1:56967/event_notification\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'Z0iWbsPNaRH5l+LfbY8Y2DFXnV14I6nHDLUsGd63G8c=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}, \\"syntax_keywords\\": [\\"iota\\", \\"interface\\", \\"rune\\", \\"int16\\", \\"int32\\", \\"type\\", \\"range\\", \\"select\\", \\"nil\\", \\"if\\", \\"float64\\", \\"string\\", \\"goto\\", \\"bool\\", \\"chan\\", \\"int\\", \\"for\\", \\"return\\", \\"else\\", \\"int8\\", \\"switch\\", \\"uint\\", \\"import\\", \\"break\\", \\"defer\\", \\"uint32\\", \\"map\\", \\"uint16\\", \\"complex64\\", \\"var\\", \\"uint64\\", \\"go\\", \\"true\\", \\"error\\", \\"int64\\", \\"uint8\\", \\"package\\", \\"case\\", \\"continue\\", \\"default\\", \\"struct\\", \\"const\\", \\"float32\\", \\"complex128\\", \\"func\\", \\"false\\", \\"uintptr\\", \\"byte\\", \\"fallthrough\\"], \\"event_name\\": \\"FileReadyToParse\\"}\'\\n2020-07-03 09:21:40,350 - DEBUG - POST b\'http://127.0.0.1:56967/receive_messages\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}}\'\\n2020-07-03 09:21:40,453 - DEBUG - POST b\'http://127.0.0.1:56967/semantic_completion_available\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'wSLTuXkXMEyAo/pqxbUkd+SnarIlQ0sKsEf6dHAqXwY=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 6, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}, \\"filetypes\\": \\"go\\"}\'\\n2020-07-03 09:21:40,457 - DEBUG - RX: <Response [200]>\\ntrue\\n2020-07-03 09:21:40,458 - DEBUG - RX: <Response [200]>\\n{}\\n2020-07-03 09:21:40,459 - DEBUG - RX: <Response [200]>\\ntrue\\n2020-07-03 09:21:40,460 - DEBUG - POST b\'http://127.0.0.1:56967/receive_messages\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}}\'\\n2020-07-03 09:21:41,280 - DEBUG - RX: <Response [200]>\\n[{\\"diagnostics\\":[{\\"ranges\\":[{\\"start\\":{\\"line_num\\":6,\\"column_num\\":6,\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"},\\"end\\":{\\"line_num\\":6,\\"column_num\\":7,\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"}}],\\"location\\":{\\"line_num\\":6,\\"column_num\\":6,\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"},\\"location_extent\\":{\\"start\\":{\\"line_num\\":6,\\"column_num\\":6,\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"},\\"end\\":{\\"line_num\\":6,\\"column_num\\":7,\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"}},\\"text\\":\\"b declared but not used\\",\\"kind\\":\\"ERROR\\",\\"fixit_available\\":false}],\\"filepath\\":\\"/Users/sweeney/code/go/src/gotest/main.go\\"}]\\n2020-07-03 09:21:41,297 - DEBUG - POST b\'http://127.0.0.1:56967/receive_messages\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}}\'\\n2020-07-03 09:21:43,845 - DEBUG - POST b\'http://127.0.0.1:56967/run_completer_command\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'iqNgUiFsTXLwjlY302MeIzcmolMPmZ4hYsZGFgsT6Gw=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 6, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}, \\"options\\": {\\"tab_size\\": 4, \\"insert_spaces\\": false}, \\"command_arguments\\": [\\"FixIt\\"]}\'\\n2020-07-03 09:21:43,905 - DEBUG - RX: <Response [200]>\\n{\\"fixits\\":[]}\\n2020-07-03 09:21:51,348 - DEBUG - RX: <Response [200]>\\ntrue\\n2020-07-03 09:21:51,348 - DEBUG - POST b\'http://127.0.0.1:56967/receive_messages\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 7, \\"column_num\\": 1, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}}\'\\n2020-07-03 09:21:52,356 - DEBUG - POST b\'http://127.0.0.1:56967/debug_info\'\\n{\'content-type\': \'application/json\', \'x-ycm-hmac\': b\'QoES5a21GQ6c7a09DrcHN0BmVpkzHiiAqZWNeHaVUQE=\'}\\nb\'{\\"filepath\\": \\"/Users/sweeney/code/go/src/gotest/main.go\\", \\"line_num\\": 6, \\"column_num\\": 5, \\"working_dir\\": \\"/Users/sweeney/code/go/src/gotest\\", \\"file_data\\": {\\"/Users/sweeney/code/go/src/gotest/main.go\\": {\\"contents\\": \\"package main\\\\\\\\n\\\\\\\\nimport \\\\\\\\\\"fmt\\\\\\\\\\"\\\\\\\\n\\\\\\\\nfunc main() {\\\\\\\\n\\\\\\\\tvar b int\\\\\\\\n\\\\\\\\tfmt.Println(\\\\\\\\\\"Hello GopherCon\\\\\\\\\\")\\\\\\\\n}\\\\\\\\n\\", \\"filetypes\\": [\\"go\\"]}}}\'\\n2020-07-03 09:21:52,361 - DEBUG - RX: <Response [200]>\\n{\\"python\\":{\\"executable\\":\\"/usr/local/opt/python/bin/python3.7\\",\\"version\\":\\"3.7.7\\"},\\"clang\\":{\\"has_support\\":false,\\"version\\":null},\\"extra_conf\\":{\\"path\\":\\"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py\\",\\"is_loaded\\":true},\\"completer\\":{\\"name\\":\\"Go\\",\\"servers\\":[{\\"name\\":\\"gopls\\",\\"is_running\\":true,\\"executable\\":[\\"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/go/bin/gopls\\",\\"-logfile\\",\\"/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log\\",\\"-rpc.trace\\"],\\"address\\":null,\\"port\\":null,\\"pid\\":94371,\\"logfiles\\":[\\"/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log\\"],\\"extras\\":[{\\"key\\":\\"Server State\\",\\"value\\":\\"Initialized\\"},{\\"key\\":\\"Project Directory\\",\\"value\\":\\"/Users/sweeney/code/go/src/gotest\\"},{\\"key\\":\\"Settings\\",\\"value\\":\\"{\\\\n  \\\\\\"fuzzyMatching\\\\\\": false,\\\\n  \\\\\\"hoverKind\\\\\\": \\\\\\"Structured\\\\\\"\\\\n}\\"}]}],\\"items\\":[]}}\\n", "filetypes": [""]}}}'
2020-07-03 09:21:54,476 - DEBUG - RX: <Response [200]>
false
2020-07-03 09:22:43,671 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:22:43,671 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:22:48,834 - DEBUG - POST b'http://127.0.0.1:56967/event_notification'
{'content-type': 'application/json', 'x-ycm-hmac': b'fqU3/UQipVCePsXgFQhr9fRqUC3dZLYUArjyDziih0U='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "event_name": "CurrentIdentifierFinished"}'
2020-07-03 09:22:49,024 - DEBUG - POST b'http://127.0.0.1:56967/completions'
{'content-type': 'application/json', 'x-ycm-hmac': b'PmpHe7pm4xj++FCoLjZ165WgMhV7yi6j35hpq+F+2lw='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 2, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "force_semantic": false}'
2020-07-03 09:22:49,039 - DEBUG - RX: <Response [200]>
{"completions":[],"completion_start_column":1,"errors":[]}
2020-07-03 09:22:53,685 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:22:53,686 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:22:54,728 - DEBUG - POST b'http://127.0.0.1:56967/event_notification'
{'content-type': 'application/json', 'x-ycm-hmac': b'0lzCHH/AjVrYTZcZ4Au1i4tCEO7WUzkArrehrfeZfmM='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "event_name": "FileReadyToParse"}'
2020-07-03 09:22:54,735 - DEBUG - POST b'http://127.0.0.1:56967/event_notification'
{'content-type': 'application/json', 'x-ycm-hmac': b'+A6USC1nWnZITxxyc4LcN8PFOtm4k05aa3LnJprCWbs='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "event_name": "InsertLeave"}'
2020-07-03 09:22:54,764 - DEBUG - RX: <Response [200]>
[{"diagnostics":[{"ranges":[{"start":{"line_num":5,"column_num":1,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":5,"column_num":1,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}}],"location":{"line_num":5,"column_num":1,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"location_extent":{"start":{"line_num":5,"column_num":1,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":5,"column_num":1,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}},"text":"expected declaration, found a","kind":"ERROR","fixit_available":false}],"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}]
2020-07-03 09:22:54,780 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:22:54,837 - DEBUG - RX: <Response [200]>
[{"ranges":[{"start":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":6,"column_num":7,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}}],"location":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"location_extent":{"start":{"line_num":6,"column_num":6,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"},"end":{"line_num":6,"column_num":7,"filepath":"/Users/sweeney/code/go/src/gotest/main.go"}},"text":"b declared but not used","kind":"ERROR","fixit_available":false}]
2020-07-03 09:22:56,252 - DEBUG - POST b'http://127.0.0.1:56967/run_completer_command'
{'content-type': 'application/json', 'x-ycm-hmac': b'0elZWxeLz8w+ljiMMtwqml1STw+gZiyKrCV0CPHyKB4='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}, "options": {"tab_size": 4, "insert_spaces": false}, "command_arguments": ["FixIt"]}'
2020-07-03 09:22:56,292 - DEBUG - RX: <Response [500]>
{"exception":{"TYPE":"ResponseFailedException"},"message":"Request failed: 0: computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)","traceback":"Traceback (most recent call last):\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/bottle/bottle.py\", line 868, in _handle\n    return route.call(**args)\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/bottle/bottle.py\", line 1748, in wrapper\n    rv = callback(*a, **ka)\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/watchdog_plugin.py\", line 97, in wrapper\n    return callback( *args, **kwargs )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/hmac_plugin.py\", line 62, in wrapper\n    body = callback( *args, **kwargs )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/handlers.py\", line 95, in RunCompleterCommand\n    request_data ) )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/completer.py\", line 414, in OnUserCommand\n    return command( self, request_data, arguments[ 1: ] )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py\", line 51, in <lambda>\n    lambda self, request_data, args: self.GetCodeActions( request_data, args )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py\", line 2194, in GetCodeActions\n    REQUEST_TIMEOUT_COMMAND )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py\", line 422, in GetResponse\n    return response.AwaitResponse( timeout )\n  File \"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py\", line 207, in AwaitResponse\n    error.get( 'message' ) or 'No message' ) )\nycmd.completers.language_server.language_server_completer.ResponseFailedException: Request failed: 0: computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)\n"}
2020-07-03 09:22:56,293 - ERROR - Error while handling server response
Traceback (most recent call last):
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/python/ycm/client/base_request.py", line 73, in HandleFuture
    return _JsonFromFuture( future )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/python/ycm/client/base_request.py", line 256, in _JsonFromFuture
    raise MakeServerException( response.json() )
ycmd.responses.ServerError: ResponseFailedException: Request failed: 0: computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)
2020-07-03 09:23:03,679 - DEBUG - POST b'http://127.0.0.1:56967/debug_info'
{'content-type': 'application/json', 'x-ycm-hmac': b'6XBXRmzPlvRS+dsu6OJEamC3esbIBVue6Vyx0OXhlTg='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:23:03,685 - DEBUG - RX: <Response [200]>
{"python":{"executable":"/usr/local/opt/python/bin/python3.7","version":"3.7.7"},"clang":{"has_support":false,"version":null},"extra_conf":{"path":"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py","is_loaded":true},"completer":{"name":"Go","servers":[{"name":"gopls","is_running":true,"executable":["/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/go/bin/gopls","-logfile","/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log","-rpc.trace"],"address":null,"port":null,"pid":94371,"logfiles":["/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log"],"extras":[{"key":"Server State","value":"Initialized"},{"key":"Project Directory","value":"/Users/sweeney/code/go/src/gotest"},{"key":"Settings","value":"{\n  \"fuzzyMatching\": false,\n  \"hoverKind\": \"Structured\"\n}"}]}],"items":[]}}
2020-07-03 09:23:04,806 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:23:04,807 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:24:01,019 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:24:01,020 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:24:09,711 - DEBUG - POST b'http://127.0.0.1:56967/debug_info'
{'content-type': 'application/json', 'x-ycm-hmac': b'6XBXRmzPlvRS+dsu6OJEamC3esbIBVue6Vyx0OXhlTg='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 5, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:24:09,717 - DEBUG - RX: <Response [200]>
{"python":{"executable":"/usr/local/opt/python/bin/python3.7","version":"3.7.7"},"clang":{"has_support":false,"version":null},"extra_conf":{"path":"/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py","is_loaded":true},"completer":{"name":"Go","servers":[{"name":"gopls","is_running":true,"executable":["/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/go/bin/gopls","-logfile","/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log","-rpc.trace"],"address":null,"port":null,"pid":94371,"logfiles":["/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/gopls_stderr6md1sf5e.log"],"extras":[{"key":"Server State","value":"Initialized"},{"key":"Project Directory","value":"/Users/sweeney/code/go/src/gotest"},{"key":"Settings","value":"{\n  \"fuzzyMatching\": false,\n  \"hoverKind\": \"Structured\"\n}"}]}],"items":[]}}
2020-07-03 09:24:11,428 - DEBUG - RX: <Response [200]>
true
2020-07-03 09:24:11,429 - DEBUG - POST b'http://127.0.0.1:56967/receive_messages'
{'content-type': 'application/json', 'x-ycm-hmac': b'czJX6jH1mDgZvmP47DYGx9DnCW+AcAP2eTOlxlmDuuY='}
b'{"filepath": "/Users/sweeney/code/go/src/gotest/main.go", "line_num": 7, "column_num": 1, "working_dir": "/Users/sweeney/code/go/src/gotest", "file_data": {"/Users/sweeney/code/go/src/gotest/main.go": {"contents": "package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n", "filetypes": ["go"]}}}'
2020-07-03 09:21:40,054 - DEBUG - Global extra conf not loaded or no function YcmCorePreload
2020-07-03 09:21:40,156 - INFO - Received ready request
2020-07-03 09:21:40,163 - INFO - Received signature help available request
2020-07-03 09:21:40,340 - INFO - Received event notification
2020-07-03 09:21:40,341 - DEBUG - Event name: BufferVisit
2020-07-03 09:21:40,348 - INFO - Received event notification
2020-07-03 09:21:40,349 - DEBUG - Event name: FileReadyToParse
2020-07-03 09:21:40,349 - INFO - Adding buffer identifiers for file: /Users/sweeney/code/go/src/gotest/main.go
2020-07-03 09:21:40,350 - INFO - Starting gopls: ['/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/go/bin/gopls', '-logfile', None, '-rpc.trace']
2020-07-03 09:21:40,357 - INFO - gopls started
2020-07-03 09:21:40,357 - DEBUG - TX: Sending message: b'Content-Length: 991\r\n\r\n{"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"codeAction":{"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"completion":{"completionItem":{"documentationFormat":["plaintext","markdown"]},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"contentFormat":["plaintext","markdown"]},"signatureHelp":{"signatureInformation":{"documentationFormat":["plaintext","markdown"],"parameterInformation":{"labelOffsetSupport":false}}},"synchronization":{"didSave":true}},"workspace":{"applyEdit":true,"didChangeWatchedFiles":{"dynamicRegistration":true},"documentChanges":true}},"initializationOptions":{"fuzzyMatching":false,"hoverKind":"Structured"},"processId":94335,"rootPath":"/Users/sweeney/code/go/src/gotest","rootUri":"file:///Users/sweeney/code/go/src/gotest"}}'
2020-07-03 09:21:40,410 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","result":{"capabilities":{"textDocumentSync":{"openClose":true,"change":2,"save":{}},"completionProvider":{"triggerCharacters":["."]},"hoverProvider":true,"signatureHelpProvider":{"triggerCharacters":["(",","]},"definitionProvider":true,"typeDefinitionProvider":true,"implementationProvider":true,"referencesProvider":true,"documentHighlightProvider":true,"documentSymbolProvider":true,"codeActionProvider":{"codeActionKinds":["quickfix","source.fixAll","source.organizeImports"]},"codeLensProvider":{},"documentLinkProvider":{},"workspaceSymbolProvider":true,"documentFormattingProvider":true,"documentOnTypeFormattingProvider":{"firstTriggerCharacter":""},"renameProvider":true,"foldingRangeProvider":true,"executeCommandProvider":{"commands":["tidy","upgrade.dependency","generate"]},"workspace":{"workspaceFolders":{"supported":true,"changeNotifications":"workspace/didChangeWorkspaceFolders"}}},"serverInfo":{"name":""}},"id":1}'
2020-07-03 09:21:40,410 - INFO - Language server requires sync type of Incremental
2020-07-03 09:21:40,410 - DEBUG - go: Server declares trigger characters: ['.']
2020-07-03 09:21:40,410 - INFO - go: Using trigger characters for semantic triggers: .
2020-07-03 09:21:40,411 - DEBUG - go: Server declares signature trigger characters: ['(', ',']
2020-07-03 09:21:40,411 - INFO - go: Using characters for signature triggers: (,,
2020-07-03 09:21:40,411 - DEBUG - TX: Sending notification: b'Content-Length: 52\r\n\r\n{"jsonrpc":"2.0","method":"initialized","params":{}}'
2020-07-03 09:21:40,411 - DEBUG - TX: Sending notification: b'Content-Length: 132\r\n\r\n{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{"fuzzyMatching":false,"hoverKind":"Structured"}}}'
2020-07-03 09:21:40,412 - DEBUG - Refreshing file /Users/sweeney/code/go/src/gotest/main.go: State is Open/action Open
2020-07-03 09:21:40,412 - DEBUG - TX: Sending notification: b'Content-Length: 275\r\n\r\n{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"go","text":"package main\\n\\nimport \\"fmt\\"\\n\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n","uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":1}}}'
2020-07-03 09:21:40,413 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"client/registerCapability","params":{"registrations":[{"id":"workspace/didChangeWatchedFiles","method":"workspace/didChangeWatchedFiles","registerOptions":{"watchers":[{"globPattern":"**/*.go","kind":7}]}}]},"id":1}'
2020-07-03 09:21:40,415 - DEBUG - TX: Sending response: b'Content-Length: 38\r\n\r\n{"id":1,"jsonrpc":"2.0","result":null}'
2020-07-03 09:21:40,428 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2020/07/03 09:21:40 Build info\\n----------\\ngolang.org/x/tools/gopls 0.4.0\\n    golang.org/x/tools/gopls@v0.4.0 h1:G4+YP9kaV4dJb79J5MobyApxX493Qa6VoiTceUmxqik=\\n    github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=\\n    github.com/sergi/go-diff@v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=\\n    golang.org/x/mod@v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=\\n    golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=\\n    golang.org/x/tools@v0.0.0-20200407041343-bf15fae40dea h1:DUwLyMDMUauGMd9kSLIlhhYJNELm06HuxeBdkFkeax4=\\n    golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=\\n    honnef.co/go/tools@v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=\\n    mvdan.cc/xurls/v2@v2.1.0 h1:KaMb5GLhlcSX+e+qhbRJODnUUBvlw01jt4yrjFIHAuA=\\n\\nGo info\\n-------\\ngo version go1.14.4 darwin/amd64\\n\\n"}}'
2020-07-03 09:21:40,456 - INFO - Received filetype completion available request
2020-07-03 09:21:40,463 - INFO - Server reported: 2020/07/03 09:21:40 Build info
----------
golang.org/x/tools/gopls 0.4.0
    golang.org/x/tools/gopls@v0.4.0 h1:G4+YP9kaV4dJb79J5MobyApxX493Qa6VoiTceUmxqik=
    github.com/BurntSushi/toml@v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
    github.com/sergi/go-diff@v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0=
    golang.org/x/mod@v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
    golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY=
    golang.org/x/tools@v0.0.0-20200407041343-bf15fae40dea h1:DUwLyMDMUauGMd9kSLIlhhYJNELm06HuxeBdkFkeax4=
    golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
    honnef.co/go/tools@v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
    mvdan.cc/xurls/v2@v2.1.0 h1:KaMb5GLhlcSX+e+qhbRJODnUUBvlw01jt4yrjFIHAuA=

Go info
-------
go version go1.14.4 darwin/amd64

2020-07-03 09:21:40,858 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2020/07/03 09:21:40 go env for /Users/sweeney/code/go/src/gotest\\n(valid build configuration = true)\\n(build flags: [-modfile=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go.gotest.135432998.mod])\\nGO111MODULE=\\"\\"\\nGOARCH=\\"amd64\\"\\nGOBIN=\\"\\"\\nGOCACHE=\\"/Users/sweeney/Library/Caches/go-build\\"\\nGOENV=\\"/Users/sweeney/Library/Application Support/go/env\\"\\nGOEXE=\\"\\"\\nGOFLAGS=\\"\\"\\nGOHOSTARCH=\\"amd64\\"\\nGOHOSTOS=\\"darwin\\"\\nGOINSECURE=\\"\\"\\nGONOPROXY=\\"\\"\\nGONOSUMDB=\\"\\"\\nGOOS=\\"darwin\\"\\nGOPATH=\\"/Users/sweeney/code/go\\"\\nGOPRIVATE=\\"\\"\\nGOPROXY=\\"https://proxy.golang.org,direct\\"\\nGOROOT=\\"/usr/local/Cellar/go/1.14.4/libexec\\"\\nGOSUMDB=\\"sum.golang.org\\"\\nGOTMPDIR=\\"\\"\\nGOTOOLDIR=\\"/usr/local/Cellar/go/1.14.4/libexec/pkg/tool/darwin_amd64\\"\\nGCCGO=\\"gccgo\\"\\nAR=\\"ar\\"\\nCC=\\"clang\\"\\nCXX=\\"clang++\\"\\nCGO_ENABLED=\\"1\\"\\nGOMOD=\\"/Users/sweeney/code/go/src/gotest/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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go-build254561657=/tmp/go-build -gno-record-gcc-switches -fno-common\\"\\n"}}'
2020-07-03 09:21:40,859 - INFO - Server reported: 2020/07/03 09:21:40 go env for /Users/sweeney/code/go/src/gotest
(valid build configuration = true)
(build flags: [-modfile=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go.gotest.135432998.mod])
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/sweeney/Library/Caches/go-build"
GOENV="/Users/sweeney/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/sweeney/code/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.4/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.4/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/sweeney/code/go/src/gotest/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 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/9n/5k9ghmws7kd6zswgsvlcdcsh0000gn/T/go-build254561657=/tmp/go-build -gno-record-gcc-switches -fno-common"

2020-07-03 09:21:40,904 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2020/07/03 09:21:40 go/packages.Load\\n\\tsnapshot=0\\n\\tdirectory=/Users/sweeney/code/go/src/gotest\\n\\tquery=[./... builtin]\\n\\tpackages=2"}}'
2020-07-03 09:21:40,905 - INFO - Server reported: 2020/07/03 09:21:40 go/packages.Load
    snapshot=0
    directory=/Users/sweeney/code/go/src/gotest
    query=[./... builtin]
    packages=2
2020-07-03 09:21:41,269 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","diagnostics":[{"range":{"start":{"line":5,"character":5},"end":{"line":5,"character":6}},"severity":1,"source":"compiler","message":"b declared but not used"}]}}'
2020-07-03 09:21:43,847 - INFO - Received command request
2020-07-03 09:21:43,847 - INFO - Found executeCommandProvider support for command ExecuteCommand in go
2020-07-03 09:21:43,848 - INFO - Found codeActionProvider support for command FixIt in go
2020-07-03 09:21:43,848 - INFO - Found definitionProvider support for command GoToDefinition in go
2020-07-03 09:21:43,848 - INFO - Found definitionProvider support for command GoToDeclaration in go
2020-07-03 09:21:43,848 - INFO - Found definitionProvider support for command GoTo in go
2020-07-03 09:21:43,848 - INFO - Found typeDefinitionProvider support for command GoToType in go
2020-07-03 09:21:43,848 - INFO - Found implementationProvider support for command GoToImplementation in go
2020-07-03 09:21:43,848 - INFO - Found referencesProvider support for command GoToReferences in go
2020-07-03 09:21:43,848 - INFO - Found renameProvider support for command RefactorRename in go
2020-07-03 09:21:43,848 - INFO - Found documentFormattingProvider support for command Format in go
2020-07-03 09:21:43,848 - INFO - Always supporting StopServer for go
2020-07-03 09:21:43,848 - INFO - Always supporting RestartServer for go
2020-07-03 09:21:43,848 - INFO - Always supporting GetDoc for go
2020-07-03 09:21:43,848 - INFO - Always supporting GetType for go
2020-07-03 09:21:43,848 - DEBUG - Refreshing file /Users/sweeney/code/go/src/gotest/main.go: State is Open/action None
2020-07-03 09:21:43,849 - DEBUG - TX: Sending message: b'Content-Length: 391\r\n\r\n{"id":2,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[{"message":"b declared but not used","range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"severity":1,"source":"compiler"}]},"range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}}'
2020-07-03 09:21:43,903 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","result":null,"id":2}'
2020-07-03 09:21:52,359 - INFO - Received debug info request
2020-07-03 09:22:13,906 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2020/07/03 09:22:13 background imports cache refresh starting"}}'
2020-07-03 09:22:17,216 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"window/logMessage","params":{"type":3,"message":"2020/07/03 09:22:17 background refresh finished after 3.311162492s"}}'
2020-07-03 09:22:43,675 - INFO - Server reported: 2020/07/03 09:22:13 background imports cache refresh starting
2020-07-03 09:22:43,676 - INFO - Server reported: 2020/07/03 09:22:17 background refresh finished after 3.311162492s
2020-07-03 09:22:48,837 - INFO - Received event notification
2020-07-03 09:22:48,837 - DEBUG - Event name: CurrentIdentifierFinished
2020-07-03 09:22:49,028 - INFO - Received completion request
2020-07-03 09:22:49,028 - DEBUG - Using filetype completion: False
2020-07-03 09:22:54,734 - INFO - Received event notification
2020-07-03 09:22:54,734 - DEBUG - Event name: FileReadyToParse
2020-07-03 09:22:54,734 - INFO - Adding buffer identifiers for file: /Users/sweeney/code/go/src/gotest/main.go
2020-07-03 09:22:54,735 - DEBUG - Refreshing file /Users/sweeney/code/go/src/gotest/main.go: State is Open/action Change
2020-07-03 09:22:54,735 - DEBUG - TX: Sending notification: b'Content-Length: 283\r\n\r\n{"jsonrpc":"2.0","method":"textDocument/didChange","params":{"contentChanges":[{"text":"package main\\n\\nimport \\"fmt\\"\\n\\na\\nfunc main() {\\n\\tvar b int\\n\\tfmt.Println(\\"Hello GopherCon\\")\\n}\\n"}],"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":2}}}'
2020-07-03 09:22:54,739 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go","version":2,"diagnostics":[{"range":{"start":{"line":4,"character":0},"end":{"line":4,"character":0}},"severity":1,"source":"syntax","message":"expected declaration, found a"}]}}'
2020-07-03 09:22:54,741 - INFO - Received event notification
2020-07-03 09:22:54,741 - DEBUG - Event name: InsertLeave
2020-07-03 09:22:54,742 - INFO - Adding ONE buffer identifier for file: /Users/sweeney/code/go/src/gotest/main.go
2020-07-03 09:22:56,254 - INFO - Received command request
2020-07-03 09:22:56,254 - INFO - Found executeCommandProvider support for command ExecuteCommand in go
2020-07-03 09:22:56,254 - INFO - Found codeActionProvider support for command FixIt in go
2020-07-03 09:22:56,254 - INFO - Found definitionProvider support for command GoToDefinition in go
2020-07-03 09:22:56,254 - INFO - Found definitionProvider support for command GoToDeclaration in go
2020-07-03 09:22:56,254 - INFO - Found definitionProvider support for command GoTo in go
2020-07-03 09:22:56,254 - INFO - Found typeDefinitionProvider support for command GoToType in go
2020-07-03 09:22:56,255 - INFO - Found implementationProvider support for command GoToImplementation in go
2020-07-03 09:22:56,255 - INFO - Found referencesProvider support for command GoToReferences in go
2020-07-03 09:22:56,255 - INFO - Found renameProvider support for command RefactorRename in go
2020-07-03 09:22:56,255 - INFO - Found documentFormattingProvider support for command Format in go
2020-07-03 09:22:56,255 - INFO - Always supporting StopServer for go
2020-07-03 09:22:56,255 - INFO - Always supporting RestartServer for go
2020-07-03 09:22:56,255 - INFO - Always supporting GetDoc for go
2020-07-03 09:22:56,255 - INFO - Always supporting GetType for go
2020-07-03 09:22:56,255 - DEBUG - Refreshing file /Users/sweeney/code/go/src/gotest/main.go: State is Open/action None
2020-07-03 09:22:56,255 - DEBUG - TX: Sending message: b'Content-Length: 395\r\n\r\n{"id":3,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[{"message":"expected declaration, found a","range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"severity":1,"source":"syntax"}]},"range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}}'
2020-07-03 09:22:56,256 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","error":{"code":0,"message":"computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)","data":null},"id":3}'
Traceback (most recent call last):
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/bottle/bottle.py", line 868, in _handle
    return route.call(**args)
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/third_party/bottle/bottle.py", line 1748, in wrapper
    rv = callback(*a, **ka)
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/watchdog_plugin.py", line 97, in wrapper
    return callback( *args, **kwargs )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/hmac_plugin.py", line 62, in wrapper
    body = callback( *args, **kwargs )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/handlers.py", line 95, in RunCompleterCommand
    request_data ) )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/completer.py", line 414, in OnUserCommand
    return command( self, request_data, arguments[ 1: ] )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 51, in <lambda>
    lambda self, request_data, args: self.GetCodeActions( request_data, args )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 2194, in GetCodeActions
    REQUEST_TIMEOUT_COMMAND )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 422, in GetResponse
    return response.AwaitResponse( timeout )
  File "/Users/sweeney/.vim/plugged/YouCompleteMe/third_party/ycmd/ycmd/completers/language_server/language_server_completer.py", line 207, in AwaitResponse
    error.get( 'message' ) or 'No message' ) )
ycmd.completers.language_server.language_server_completer.ResponseFailedException: Request failed: 0: computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)
2020-07-03 09:23:03,683 - INFO - Received debug info request
2020-07-03 09:24:09,715 - INFO - Received debug info request
2020-07-03 09:24:36,055 - INFO - Received debug info request
serving on http://localhost:56967
bstaletic commented 4 years ago
[Trace - 09:21:43.849 AM] Sending request 'textDocument/codeAction - (2)'.
Params: {"context":{"diagnostics":[{"message":"b declared but not used","range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"severity":1,"source":"compiler"}]},"range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}

[Trace - 09:21:43.903 AM] Received response 'textDocument/codeAction - (2)' in 54ms.
Result: {}

[Trace - 09:22:56.256 AM] Sending request 'textDocument/codeAction - (3)'.
Params: {"context":{"diagnostics":[{"message":"expected declaration, found a","range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"severity":1,"source":"syntax"}]},"range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}

[Error - 09:22:56.256 AM] Received #3 computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)

These are the relevant parts of the gopls log. As you can see, in one case the result was empty - {} and in the other case gopls errored. This is also reflected in the ycmd's log:

2020-07-03 09:21:43,849 - DEBUG - TX: Sending message: b'Content-Length: 391\r\n\r\n{"id":2,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[{"message":"b declared but not used","range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"severity":1,"source":"compiler"}]},"range":{"end":{"character":6,"line":5},"start":{"character":5,"line":5}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}}'
2020-07-03 09:21:43,903 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","result":null,"id":2}'
2020-07-03 09:22:56,255 - DEBUG - TX: Sending message: b'Content-Length: 395\r\n\r\n{"id":3,"jsonrpc":"2.0","method":"textDocument/codeAction","params":{"context":{"diagnostics":[{"message":"expected declaration, found a","range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"severity":1,"source":"syntax"}]},"range":{"end":{"character":0,"line":4},"start":{"character":0,"line":4}},"textDocument":{"uri":"file:///Users/sweeney/code/go/src/gotest/main.go"}}}'
2020-07-03 09:22:56,256 - DEBUG - RX: Received message: b'{"jsonrpc":"2.0","error":{"code":0,"message":"computing fix edits: /Users/sweeney/code/go/src/gotest/main.go:5:1: expected declaration, found a (and 1 more errors)","data":null},"id":3}'

With an error and a null response, YCM really had no choice then to tell you "no fixits found".

yangxyo commented 4 years ago

That seems FixIt is basically useless to Golang, because it never works for me. But with javascript worked well.

bstaletic commented 4 years ago

We have tests that do trigger a non-null FixIt response:

https://github.com/ycm-core/ycmd/blob/master/ycmd/tests/go/subcommands_test.py#L414-L481

There's also a bug in gopls: golang/go#37702

Anyway, if gopls doesn't respond with a valid "code action", there's nothing YCM can do about it other than tell you it got nothing.

bstaletic commented 4 years ago

This isn't a YCM issue. Closing.