]> git.rmz.io Git - dotfiles.git/blobdiff - vim/ftplugin/haskell.vim
vim/haskell: add ftplugin configurations
[dotfiles.git] / vim / ftplugin / haskell.vim
diff --git a/vim/ftplugin/haskell.vim b/vim/ftplugin/haskell.vim
new file mode 100644 (file)
index 0000000..76c5e3f
--- /dev/null
@@ -0,0 +1,23 @@
+compiler stack
+set makeprg=stack
+
+nnoremap <buffer> <Leader>r :make! build<CR>
+nnoremap <buffer> <Leader>tt :make! test<CR>
+
+nnoremap <buffer> gd :YcmCompleter GoTo<CR>
+nnoremap <buffer> <C-W>d :vs<CR>:YcmCompleter GoTo<CR>
+nnoremap <buffer> gD :YcmCompleter GoToReferences<CR>
+
+nnoremap <buffer> <leader>fi :YcmCompleter FixIt<CR>
+" format with =
+call operator#user#define_ex_command('ycmcompleter-format', 'YcmCompleter Format')
+map <buffer> = <Plug>(operator-ycmcompleter-format)
+vnoremap <buffer> = :YcmCompleter Format<CR>
+" restore = mapping to g=
+nnoremap <buffer>g= =
+vnoremap <buffer>g= =
+
+" hover popup
+let g:ycm_auto_hover = ''
+nmap <buffer> gh <plug>(YCMHover)
+" nmap <buffer> gH :YcmCompleter GetDoc<CR>