From 7a8a1f425ffed8d8dee6c7f7bedf7ecc8c10f92b Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Sat, 4 Aug 2018 19:42:36 +0800 Subject: [PATCH] Unfuck haskell config for large projects --- after/ftplugin/haskell.vim | 22 ++++++++++++++-------- vimrc | 2 +- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/after/ftplugin/haskell.vim b/after/ftplugin/haskell.vim index ae90c1e..d302787 100644 --- a/after/ftplugin/haskell.vim +++ b/after/ftplugin/haskell.vim @@ -96,7 +96,7 @@ let g:vim_annotations_offset = '/.liquid/' " LSP -let g:LanguageClient_autoStart = 1 +let g:LanguageClient_autoStart = 0 let g:LanguageClient_serverCommands = { \ 'haskell': ['hie-wrapper', '--lsp', '-d', '-l', $HOME.'/lang-server.log'], \ } @@ -104,16 +104,17 @@ let g:LanguageClient_serverCommands = { let g:LanguageClient_diagnosticsEnable = 0 nnoremap lc :call LanguageClient_contextMenu() -nnoremap gd :call LanguageClient#textDocument_definition() +" nnoremap gd :call LanguageClient#textDocument_definition() nnoremap :call LanguageClient#textDocument_hover() vnoremap :call LanguageClient#textDocument_hover() -nnoremap :call LanguageClient#textDocument_rename() +nnoremap :call LanguageClient#textDocument_rename() " deoplete call deoplete#custom#option('sources',{ \ '_': ['buffer'], - \ 'haskell': ['neosnippet', 'buffer', 'file', 'LanguageClient'] + \ 'haskell': ['neosnippet', 'buffer', 'file', 'neco-ghc'] \ }) + " \ 'haskell': ['neosnippet', 'buffer', 'file', 'neco-ghc'] " inoremap pumvisible() ? "\" : "\" call deoplete#enable() call deoplete#enable_logging('DEBUG', $HOME . '/deoplete.log') @@ -121,8 +122,8 @@ call deoplete#enable_logging('DEBUG', $HOME . '/deoplete.log') let g:ghcmod_hlint_options = ['--ignore=Eta reduce $'] " ALE -let g:ale_enabled = 1 -let g:ale_linters = {'haskell':['ghc-mod', 'hdevtools'], 'c':['clang']} +let g:ale_enabled = 0 +let g:ale_linters = {'haskell':[], 'c':['clang']} " let g:ale_linters = {'haskell':['ghc-mod', 'hdevtools', 'argon'], 'c':['clang']} " let g:ale_fixers = { " \ 'haskell': ['brittany'], @@ -137,7 +138,6 @@ let g:ale_haskell_argon_info_level = 6 " neco-ghc " let g:necoghc_enable_detailed_browse = 1 " let g:haskellmode_completion_ghc = 0 -" let g:necoghc_enable_detailed_browse = 1 " autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc " let g:ycm_semantic_triggers = {'haskell' : ['.']} @@ -173,10 +173,16 @@ nmap :GhcModType " let g:intero_window_size = 15 " " Sets the intero window to split vertically; default is horizontal - " let g:intero_vertical_split = 1 + " " let g:intero_vertical_split = 1 + + " " let g:intero_ghci_options = '-dynamic' " " OPTIONAL: Make the update time shorter, so the type info will trigger faster. " set updatetime=1000 " map t InteroGenericType + " nnoremap jd :InteroGoToDef + " map T InteroType + " nnoremap it :InteroTypeInsert + " nnoremap ist :InteroSetTargets " endif diff --git a/vimrc b/vimrc index 3362dd3..c22774f 100644 --- a/vimrc +++ b/vimrc @@ -88,7 +88,7 @@ Plug 'w0rp/ale', { " if has("nvim") " Plug 'parsonsmatt/intero-neovim' " endif -Plug 'eagletmt/ghcmod-vim', { 'for': 'haskell' } +" Plug 'eagletmt/ghcmod-vim', { 'for': 'haskell' } " completion based on ghc-mod, not LSP " Plug 'eagletmt/neco-ghc', { 'for': 'haskell' } Plug 'lukerandall/haskellmode-vim', { 'for': 'haskell' }