Try to use intero-neovim

This commit is contained in:
Julian Ospald 2018-06-14 02:28:01 +02:00
parent 5960256ae0
commit 3a053ca5c7
No known key found for this signature in database
GPG Key ID: 511B62C09D50CD28
2 changed files with 59 additions and 26 deletions

View File

@ -5,7 +5,6 @@ setlocal ts=2 sw=2 expandtab omnifunc=necoghc#omnifunc
let g:haskell_classic_highlighting = 1
let g:ghcmod_hlint_options = ['--ignore=Eta reduce $']
syntax on
filetype plugin indent on
@ -14,21 +13,6 @@ filetype plugin indent on
call CmdAlias('hasktags', '!/home/jule/.cabal/bin/hasktags -c .<CR>')
let g:necoghc_enable_detailed_browse = 1
" ALE
let g:ale_linters = {'haskell':['ghc-mod', 'hdevtools'], 'c':['clang']}
" let g:ale_fixers = {
" \ 'go': ['gofmt', 'goimports'],
" \}
let g:ale_haskell_hdevtools_options = "-g '-Wall' -g '-Wno-orphans'"
" neco-ghc
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' : ['.']}
function! HaskellDocCurrentWord()
let word = expand("<cword>")
@ -36,17 +20,9 @@ function! HaskellDocCurrentWord()
endfunction
" clear search
nmap <F2> :noh<CR>:GhcModTypeClear<CR>
imap <F2> <C-O>:noh<CR>:GhcModTypeClear<CR>
" unmap <F3>
" unmap <F4>
nmap <F6> :GhcModType<CR>
nmap <F8> :call HaskellDocCurrentWord()<CR><CR>
nmap <silent> <F3> :silent update <bar> HsimportModule<CR>
nmap <silent> <F4> :silent update <bar> HsimportSymbol<CR>
@ -96,3 +72,56 @@ let g:vim_annotations_offset = '/.liquid/'
" nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
" autocmd VimEnter * LanguageClientStart
if has("nvim")
let g:ale_enabled = 0
let g:intero_backend = {
\ 'command': 'cabal new-repl',
\ 'options': '',
\ 'cwd': expand('%:p:h'),
\}
" Intero starts automatically. Set this if you'd like to prevent that.
let g:intero_start_immediately = 1
" Enable type information on hover (when holding cursor at point for ~1 second).
let g:intero_type_on_hover = 1
" Change the intero window size; default is 10.
let g:intero_window_size = 15
" Sets the intero window to split vertically; default is horizontal
let g:intero_vertical_split = 1
" OPTIONAL: Make the update time shorter, so the type info will trigger faster.
set updatetime=1000
map <silent> <leader>t <Plug>InteroGenericType
else
let g:ghcmod_hlint_options = ['--ignore=Eta reduce $']
" ALE
let g:ale_linters = {'haskell':['ghc-mod', 'hdevtools'], 'c':['clang']}
" let g:ale_fixers = {
" \ 'go': ['gofmt', 'goimports'],
" \}
let g:ale_haskell_hdevtools_options = "-g '-Wall' -g '-Wno-orphans'"
" 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' : ['.']}
" clear search
nmap <F2> :noh<CR>:GhcModTypeClear<CR>
imap <F2> <C-O>:noh<CR>:GhcModTypeClear<CR>
" unmap <F3>
" unmap <F4>
nmap <F6> :GhcModType<CR>
endif

8
vimrc
View File

@ -83,8 +83,12 @@ Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer --go-comp
\ }
" haskell
Plug 'eagletmt/ghcmod-vim', { 'for': 'haskell' }
Plug 'eagletmt/neco-ghc', { 'for': 'haskell' }
if has("nvim")
Plug 'parsonsmatt/intero-neovim'
else
Plug 'eagletmt/ghcmod-vim', { 'for': 'haskell' }
Plug 'eagletmt/neco-ghc', { 'for': 'haskell' }
endif
Plug 'lukerandall/haskellmode-vim', { 'for': 'haskell' }
Plug 'raichoo/haskell-vim', { 'for': 'haskell' }
Plug 'ucsd-progsys/liquid-types.vim', { 'for': 'haskell' }