let g:LanguageClient_autoStart = 1
let g:LanguageClient_serverCommands = {
 \ 'haskell': ['hie-wrapper', '--lsp']
 \ }
let g:LanguageClient_rootMarkers = {
 \ 'haskell': ['*.cabal', 'stack.yaml'],
 \ }
"let g:LanguageClient_devel = 1
"let $LANGUAGECLIENT_DEBUG=1
"let g:LanguageClient_loggingLevel = 'DEBUG'
nmap <leader>ld :call LanguageClient_textDocument_definition()<CR>
nmap <leader>lr :call LanguageClient_textDocument_rename()<CR>
nmap <leader>lf :call LanguageClient_textDocument_formatting()<CR>
nmap <leader>lt :call LanguageClient_textDocument_typeDefinition()<CR>
nmap <leader>lx :call LanguageClient_textDocument_references()<CR>
nmap <leader>la :call LanguageClient_textDocument_codeAction()<CR>
nmap <leader>lA :call LanguageClient_workspace_applyEdit()<CR>
nmap <leader>lc :call LanguageClient_textDocument_completion()<CR>
nmap <leader>lh :call LanguageClient_textDocument_hover()<CR>
nmap <leader>le :call LanguageClient_explainErrorAtPoint()<CR>
nmap <leader>ls :call LanguageClient_textDocument_documentSymbol()<CR>
nmap <leader>lm :call LanguageClient_contextMenu()<CR>
augroup LanguageClient_config
	autocmd!
	autocmd User LanguageClientStarted
	 \ setlocal signcolumn=yes |
	 \ setlocal formatexpr=LanguageClient_textDocument_rangeFormatting_sync() |
	 \ setlocal completefunc=LanguageClient#complete
	autocmd User LanguageClientStopped
	 \ setlocal signcolumn=auto |
	 \ setlocal signcolumn=auto |
	 \ setlocal formatexpr=
augroup END
let g:LanguageClient_changeThrottle = 0.5
let g:LanguageClient_diagnosticsList = "Quickfix"
let g:LanguageClient_diagnosticsMaxSeverity = 'Hint'
let g:LanguageClient_hoverPreview = 'Auto'
let g:LanguageClient_loadSettings = 1
let g:LanguageClient_selectionUI = "quickfix"
let g:LanguageClient_selectionUI_autoOpen = 1
let g:LanguageClient_settingsPath = "~/.vim/settings.json"
let g:LanguageClient_waitOutputTimeout = 60
"let g:LanguageClient_loggingFile = expand('~/.vim/LanguageClient.log')