Language client produces timed out waiting on channel with haskell-ide-engine.
latest haskell-ide-engine works on vscode, but not with LanguageClient-neovim.
NVIM v0.3.0
LanguageClient 0.1.87
haskell-ide-engine Version 0.2.0.0, Git revision 92d3e8a720df43ab8212f09340f1a732079a09cb (1486 commits) x86_64 ghc-8.2.2
min-init.vim + \ 'haskell': ['hie-wrapper'],
```cd tests/data/sample-hs/
nvim main.hs
Add `one = 1`.
Move cursor over `one` `:call LanguageClient#textDocument_rename()`
Notice it takes awhile for dialog to pop up.
Rename `one` to `ones`.
notice `hie sub-process` consume small amount of CPU.
Wait.
`Error handling message: timed out waiting on channel`
### `LanguageServer.log`
2018-06-14 01:27:13.00688443 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version 0.2.0.0, Git revision 92d3e8a720df43ab8212f09340f1a732079a09cb (1486 commits) x86_64 ghc-8.2.2
2018-06-14 01:27:13.009388323 [ThreadId 4] - Current directory:/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs
2018-06-14 01:27:13.010505441 [ThreadId 4] - Using plain GHC version
2018-06-14 01:27:13.087875049 [ThreadId 4] - Project GHC version:8.4.3
2018-06-14 01:27:13.088781733 [ThreadId 4] - hie exe candidates :("hie-8.4.3","hie-8.4")
2018-06-14 01:27:13.090370142 [ThreadId 4] - found hie exe at:/home/host/.local/bin/hie
2018-06-14 01:27:13.091588599 [ThreadId 4] - args:[]
2018-06-14 01:27:13.092403512 [ThreadId 4] - launching ....
2018-06-14 01:27:13.097388879 [ThreadId 4] - run entered for HIE(hie) Version 0.2.0.0, Git revision 92d3e8a720df43ab8212f09340f1a732079a09cb (1486 commits) x86_64 ghc-8.2.2
2018-06-14 01:27:13.099353455 [ThreadId 4] - Current directory:/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs
Couldn't
### `LanguageClient.log`
LanguageClient 0.1.87 5015aa164dc9ad96a0f5fbadaf92a888d16bc0d9
01:27:13 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[!!get(g:, 'LanguageClient_autoStart', 1), get(g:, 'LanguageClient_serverCommands', {}), get(g:, 'LanguageClient_selectionUI', v:null), get(g:, 'LanguageClient_trace', v:null), get(g:, 'LanguageClient_settingsPath', '.vim/settings.json'), !!get(g:, 'LanguageClient_loadSettings', 1), get(g:, 'LanguageClient_rootMarkers', v:null), get(g:, 'LanguageClient_changeThrottle', v:null), get(g:, 'LanguageClient_waitOutputTimeout', v:null), !!get(g:, 'LanguageClient_diagnosticsEnable', 1), get(g:, 'LanguageClient_diagnosticsList', 'Quickfix'), get(g:, 'LanguageClient_diagnosticsDisplay', {}), get(g:, 'LanguageClient_windowLogMessageLevel', 'Warning'), get(g:, 'LanguageClient_hoverPreview', 'Auto'), get(g:, 'LanguageClient_completionPreferTextEdit', 1), has('nvim')]"],"id":4}
01:27:13 INFO reader-main src/vim.rs:392 <= None {"id": 4, "jsonrpc": "2.0", "result": [1, {"haskell": ["hie-wrapper"], "rust": ["rustup", "run", "nightly", "rls"]}, null, null, ".vim/settings.json", 1, null, null, null, 1, "Quickfix", {}, "Warning", "Auto", 1, 1]}
01:27:13 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["get(g:, 'loaded_fzf')"],"id":5}
01:27:13 INFO reader-main src/vim.rs:392 <= None {"id": 5, "jsonrpc": "2.0", "result": 0}
01:27:13 DEBUG main src/vim.rs:326 state.serverCommands.haskell: null ==> ["hie-wrapper"]
01:27:13 DEBUG main src/vim.rs:326 state.serverCommands.rust: null ==> ["rustup","run","nightly","rls"]
01:27:13 DEBUG main src/vim.rs:326 state.trace: null ==> "off"
01:27:13 DEBUG main src/vim.rs:326 state.loadSettings: false ==> true
01:27:13 DEBUG main src/vim.rs:326 state.is_nvim: false ==> true
01:27:13 DEBUG main src/vim.rs:326 state.child_ids.haskell: null ==> 17237
01:27:13 INFO main src/languageclient.rs:2444 End languageClient/startServer
01:27:13 INFO main src/languageclient.rs:201 Define signs
01:27:13 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"execute","params":["echo | execute 'sign define LanguageClientHint text=➤ texthl=ALEInfoSign' | execute 'sign define LanguageClientWarning text=⚠texthl=ALEWarningSign' | execute 'sign define LanguageClientInformation text=ℹ texthl=ALEInfoSign' | execute 'sign define LanguageClientError text=✖ texthl=ALEErrorSign'"],"id":6}
01:27:13 INFO reader-main src/vim.rs:392 <= None {"id": 6, "jsonrpc": "2.0", "result": 0}
01:27:13 INFO main src/languageclient.rs:215 Define signs
01:27:13 INFO main src/languageclient.rs:632 Begin initialize
01:27:13 INFO main src/languageclient.rs:46 gather_args: [LanguageId, Filename] = [String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:13 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["rootPath", "hasSnippetSupport"]. Exps: ["v:null", "s:hasSnippetSupport()"]
01:27:13 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[v:null, s:hasSnippetSupport()]"],"id":7}
01:27:13 INFO reader-main src/vim.rs:392 <= None {"id": 7, "jsonrpc": "2.0", "result": [null, 0]}
01:27:13 INFO main src/languageclient.rs:46 gather_args: [("rootPath", "v:null"), ("hasSnippetSupport", "s:hasSnippetSupport()")] = [Null, Number(0)]
01:27:13 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"s:Echomsg","params":["LanguageClient project root: /home/host"],"id":8}
01:27:13 INFO reader-main src/vim.rs:392 <= None {"id": 8, "jsonrpc": "2.0", "result": 0}
01:27:13 INFO main src/languageclient.rs:652 Project root: /home/host
01:27:13 DEBUG main src/vim.rs:326 state.roots.haskell: null ==> "/home/host"
01:27:13 WARN main src/languageclient.rs:659 Failed to get initializationOptions: No such file or directory (os error 2)
01:27:13 INFO main src/vim.rs:90 => Some("haskell") {"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{"textDocument":{"completion":{"completionItem":{"commitCharactersSupport":null,"documentationFormat":null,"snippetSupport":false},"dynamicRegistration":null}}},"initializationOptions":{},"processId":17233,"rootPath":"/home/host","rootUri":"file:///home/host","trace":"off"},"id":9}
01:27:14 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleCursorMoved", "jsonrpc": "2.0", "params": {"languageId": "haskell", "line": 1, "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:14 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleCursorMoved", "jsonrpc": "2.0", "params": {"languageId": "haskell", "line": 2, "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:15 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:16 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:16 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:17 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:17 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:17 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:18 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:18 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:18 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleTextChanged", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:19 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleCursorMoved", "jsonrpc": "2.0", "params": {"languageId": "haskell", "line": 4, "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:27:29 WARN main src/languageclient.rs:1895 Failed to start language server automatically. timed out waiting on channel
01:27:29 INFO main src/languageclient.rs:1900 End languageClient/handleBufReadPost
01:27:29 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(0)]
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1535 Not opened yet. Switching to didOpen.
01:27:29 INFO main src/languageclient.rs:1482 Begin textDocument/didOpen
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":10}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 10, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename, Text] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 DEBUG main src/vim.rs:326 state.text_documents./home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs: null ==> {"languageId":"haskell","text":"main :: IO()\nnmain = putStrLn \"hello\"\n\none = 1\n","uri":"file:///home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs","version":0}
01:27:29 INFO main src/vim.rs:90 => Some("haskell") {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"languageId":"haskell","text":"main :: IO()\nnmain = putStrLn \"hello\"\n\none = 1\n","uri":"file:///home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs","version":0}}}
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"execute","params":["setlocal omnifunc=LanguageClient#complete"],"id":11}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 11, "jsonrpc": "2.0", "result": 0}
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"s:ExecuteAutocmd","params":["LanguageClientBufReadPost"],"id":12}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 12, "jsonrpc": "2.0", "result": 0}
01:27:29 INFO main src/languageclient.rs:1521 End textDocument/didOpen
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(1)]
01:27:29 DEBUG main src/vim.rs:326 state.last_cursor_line: 0 ==> 1
01:27:29 DEBUG main src/vim.rs:326 state.last_line_diagnostic: " " ==> ""
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"s:EchoEllipsis","params":[""],"id":13}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 13, "jsonrpc": "2.0", "result": 0}
01:27:29 INFO main src/languageclient.rs:1991 End languageClient/handleCursorMoved
01:27:29 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(2)]
01:27:29 DEBUG main src/vim.rs:326 state.last_cursor_line: 1 ==> 2
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":14}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 14, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":15}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 15, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":16}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 16, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":17}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 17, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":18}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 18, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":19}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 19, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":20}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 20, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":21}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 21, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1905 Begin languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:27:29 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["text"]. Exps: ["LSP#text()"]
01:27:29 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[LSP#text()]"],"id":22}
01:27:29 INFO reader-main src/vim.rs:392 <= None {"id": 22, "jsonrpc": "2.0", "result": [["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""]]}
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:27:29 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:27:29 INFO main src/languageclient.rs:1930 End languageClient/handleTextChanged
01:27:29 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:27:29 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(4)]
01:27:29 DEBUG main src/vim.rs:326 state.last_cursor_line: 2 ==> 4
01:28:05 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleCursorMoved", "jsonrpc": "2.0", "params": {"languageId": "haskell", "line": 3, "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:28:05 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:28:05 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(3)]
01:28:05 DEBUG main src/vim.rs:326 state.last_cursor_line: 4 ==> 3
01:28:05 INFO reader-main src/vim.rs:392 <= None {"method": "languageClient/handleCursorMoved", "jsonrpc": "2.0", "params": {"languageId": "haskell", "line": 4, "buftype": "", "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:28:05 INFO main src/languageclient.rs:1957 Begin languageClient/handleCursorMoved
01:28:05 INFO main src/languageclient.rs:46 gather_args: [Buftype, Filename, Line] = [String(""), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(4)]
01:28:05 DEBUG main src/vim.rs:326 state.last_cursor_line: 3 ==> 4
01:28:19 INFO reader-main src/vim.rs:392 <= None {"id": 1, "jsonrpc": "2.0", "method": "textDocument/rename", "params": {"character": 1, "cword": "one", "handle": true, "languageId": "haskell", "line": 4, "buftype": "", "text": ["main :: IO()", "", "main = putStrLn \"hello\"", "", "one = 1", ""], "filename": "/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}}
01:28:19 INFO main src/languageclient.rs:1526 Begin textDocument/didChange
01:28:19 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs")]
01:28:19 INFO main src/languageclient.rs:46 gather_args: [Text] = [Array([String("main :: IO()"), String(""), String("main = putStrLn \"hello\""), String(""), String("one = 1"), String("")])]
01:28:19 INFO main src/languageclient.rs:1550 Texts equal. Skipping didChange.
01:28:19 INFO main src/languageclient.rs:845 Begin textDocument/rename
01:28:19 INFO main src/languageclient.rs:29 Some arguments are not available. Requesting from vim. Keys: ["newName"]. Exps: ["v:null"]
01:28:19 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"eval","params":["[v:null]"],"id":23}
01:28:19 INFO reader-main src/vim.rs:392 <= None {"id": 23, "jsonrpc": "2.0", "result": [null]}
01:28:19 INFO main src/languageclient.rs:46 gather_args: [Buftype, LanguageId, Filename, Line, Character, Cword, NewName, Handle] = [String(""), String("haskell"), String("/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"), Number(4), Number(1), String("one"), Null, Bool(true)]
01:28:19 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"s:getInput","params":["Rename to: ","one"],"id":24}
01:28:24 INFO reader-main src/vim.rs:392 <= None {"id": 24, "jsonrpc": "2.0", "result": "ones"}
01:28:24 INFO main src/vim.rs:90 => Some("haskell") {"jsonrpc":"2.0","method":"textDocument/rename","params":{"newName":"ones","position":{"character":1,"line":4},"textDocument":{"uri":"file:///home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs"}},"id":25}
01:28:34 ERROR main src/vim.rs:57 Error handling message: timed out waiting on channel
Message: {"jsonrpc":"2.0","method":"textDocument/rename","params":{"buftype":"","character":1,"cword":"one","filename":"/home/host/.dot_files/nvim_plugged/LanguageClient-neovim/tests/data/sample-hs/main.hs","handle":true,"languageId":"haskell","line":4,"text":["main :: IO()","","main = putStrLn \"hello\"","","one = 1",""]},"id":1}
Error: Timeout
01:28:34 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","error":{"code":-32603,"message":"timed out waiting on channel"},"id":1}
01:28:41 INFO reader-main src/vim.rs:392 <= None {"method": "exit", "jsonrpc": "2.0", "params": {"languageId": "haskell", "buftype": ""}}
01:28:41 INFO main src/languageclient.rs:1764 Begin exit
01:28:41 INFO main src/languageclient.rs:46 gather_args: [LanguageId] = [String("haskell")]
01:28:41 INFO main src/vim.rs:90 => Some("haskell") {"jsonrpc":"2.0","method":"exit","params":null}
01:28:41 INFO main src/languageclient.rs:569 Begin cleanup
01:28:41 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"setqflist","params":[[],"r"],"id":26}
01:28:41 INFO reader-main src/vim.rs:392 <= None {"id": 26, "jsonrpc": "2.0", "result": 0}
01:28:41 INFO main src/vim.rs:90 => None {"jsonrpc":"2.0","method":"s:ExecuteAutocmd","params":["LanguageClientStopped"],"id":27}
```
It looks like it is simply the language server timed out when processing the request. Please try increase the timeout setting.
I tried let g:LanguageClient_waitOutputTimeout = 60. No luck. Lint errors also don't work with hie. Everything works with rls.
Might be related to this one https://github.com/autozimu/LanguageClient-neovim/issues/464
Have you set hie-wrapper to use STDIO as transport, and also set the project root?
If not, the instructions at https://github.com/haskell/haskell-ide-engine#using-hie-with-neovim might be helpful.
Thank you 'haskell': ['hie-wrapper', '--lsp'], fixed it.
Most helpful comment
Thank you
'haskell': ['hie-wrapper', '--lsp'],fixed it.