Add support for Haskell and Rust autocompletion with a few fixes

This commit is contained in:
Sanchayan Maity 2017-02-18 17:00:11 +05:30
parent 625f1dee6f
commit 0a213b0660
1 changed files with 33 additions and 4 deletions

View File

@ -18,8 +18,6 @@ Plug 'LaTeX-Box-Team/LaTeX-Box'
Plug 'easymotion/vim-easymotion'
" Ctrl-P - Fuzzy file search
Plug 'kien/ctrlp.vim'
" Autocomplete for python
Plug 'davidhalter/jedi-vim'
" Remove extraneous whitespace when edit mode is exited
Plug 'thirtythreeforty/lessspace.vim'
" Status bar mods
@ -36,6 +34,13 @@ Plug 'universal-ctags/ctags'
Plug 'scrooloose/nerdcommenter'
" Theme
Plug 'sickill/vim-monokai'
" Auto Completion with Deoplete
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
" Autocomplete for Python
Plug 'zchee/deoplete-jedi'
" Autocomplete for Rust
Plug 'sebastianmarkow/deoplete-rust'
Plug 'rust-lang/rust.vim'
" Initialize plugin system
call plug#end()
@ -70,9 +75,9 @@ set ruler " Show the line and column numbers of the cursor.
set number " Show the line numbers on the left side.
set formatoptions+=o " Continue comment marker in new lines.
set textwidth=0 " Hard-wrap long lines as you type them.
set expandtab " Insert spaces when TAB is pressed.
"set expandtab " Insert spaces when TAB is pressed.
set tabstop=4 " Render TABs using this many spaces.
set shiftwidth=2 " Indentation amount for < and > commands.
set shiftwidth=4 " Indentation amount for < and > commands.
set noerrorbells " No beeps.
set modeline " Enable modeline.
@ -126,6 +131,30 @@ nnoremap <Leader>w <c-w>w
syntax enable
colorscheme monokai
" Key Bindings to help with terminal mode
noremap <Esc> <C-\><C-n>
nnoremap <A-h> <C-w>h
nnoremap <A-j> <C-w>j
nnoremap <A-k> <C-w>k
nnoremap <A-l> <C-w>l
" For Haskell
let g:haskell_enable_quantification = 1 " to enable highlighting of `forall`
let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec`
let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc`
let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles
let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static`
let g:haskell_backpack = 1 " to enable highlighting of backpack keywords
" For Rust
let g:deoplete#sources#rust#racer_binary='/home/sanchayan/.cargo/bin/racer'
let g:deoplete#sources#rust#rust_source_path='/home/sanchayan/GitSource/rust/src'
" Use deoplete.
let g:deoplete#enable_at_startup = 1
let g:deoplete#enable_smart_case = 1
let g:airline#extensions#tabline#enabled = 2
let g:airline#extensions#tabline#fnamemod = ':t'
let g:airline#extensions#tabline#left_sep = ' '