Set up rust in vim

This commit is contained in:
Vladan Popovic 2019-07-31 21:18:12 +02:00
parent ba5ae6ddad
commit 279913f25a
3 changed files with 20 additions and 3 deletions

View File

@ -18,7 +18,7 @@ export PS1="${Yellow}\d \A ${Off}${Cyan}\u@\h: ${Off}\w ${Green}\$(parse_git_bra
export PYTHONDONTWRITEBYTECODE=1
export PYTHONUSERBASE=~/.env/python
export PATH=$PYTHONUSERBASE/bin:$HOME/bin:$PATH
export PATH=$PYTHONUSERBASE/bin:$HOME/bin:$PATH:$HOME/.cargo/bin/
export HISTCONTROL=ignoredups:erasedups # Avoid duplicates
export HISTSIZE=100000000 # big big history
@ -34,3 +34,6 @@ if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
fi
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null
# Rust src path used for library tagging
export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/src/

View File

@ -28,11 +28,18 @@ match WhitespaceEOL /\s\+\%#\@<!$/
" Remove all trailing whitespace by pressing Ctrl+k
nnoremap <C-k> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar><CR>
autocmd FileType rst set textwidth=79
" Language indents
autocmd FileType py set textwidth=79
autocmd FileType html set softtabstop=2 shiftwidth=2 omnifunc=htmlcomplete#CompleteTags
autocmd FileType yaml set softtabstop=2 shiftwidth=2
autocmd FileType css set softtabstop=2 shiftwidth=2 omnifunc=csscomplete#CompleteCSS
autocmd FileType rust nmap gd <Plug>(rust-def)
autocmd FileType rust nmap gs <Plug>(rust-def-split)
autocmd FileType rust nmap gx <Plug>(rust-def-vertical)
autocmd FileType rust nmap <leader>gd <Plug>(rust-doc)
" Toggles on different plugins/modes
noremap <F1> :ToggleMouse<CR>
inoremap <F1> <Esc>:ToggleMouse<CR>a

View File

@ -23,10 +23,17 @@ let g:scala_scaladoc_indent = 1
Plugin 'elmcast/elm-vim'
Plugin 'rust-lang/rust.vim'
Plugin 'racer-rust/vim-racer'
" Async Lint Engine
Plugin 'w0rp/ale'
let g:ale_linters = {'rust': ['rustc']}
let g:ale_linters = {}
let g:ale_completion_enabled = 1
let g:ale_sign_error = "✗"
let g:ale_sign_warning = "⚠"
"
" Rust linting options
let g:ale_rust_cargo_use_clippy = 1 " use `rustup component add clippy-preview` to get it
let g:rustfmt_autosave = 1
call vundle#end()