Skip to content

Instantly share code, notes, and snippets.

@josuesasilva
Created February 7, 2021 12:59
Show Gist options
  • Save josuesasilva/0e8a76c402061f239100c8a8e2c827bd to your computer and use it in GitHub Desktop.
Save josuesasilva/0e8a76c402061f239100c8a8e2c827bd to your computer and use it in GitHub Desktop.
Neovim + LanguageClient + ALE + Python + React Native
" Plugins management
call plug#begin(stdpath('data') . '/plugged')
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'dense-analysis/ale'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
Plug 'mxw/vim-jsx'
Plug 'vim-test/vim-test'
call plug#end()
" General settings
set nu
set tabstop=2 softtabstop=0 expandtab shiftwidth=2 smarttab
set autoindent
set smartindent
set noswapfile
set nowrap
set backspace=indent,eol,start
set laststatus=2
set encoding=UTF-8
hi link xmlEndTag xmlTag
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
" ALE
let g:ale_disable_lsp = 1
let g:ale_fixers = {
\ 'python': ['black'],
\ 'javascript': ['prettier']
\ }
let b:ale_linters = {
\ 'python': ['pylint'],
\ 'javascript': ['eslint']
\ }
let b:ale_warn_about_trailing_whitespace = 0
let g:ale_fix_on_save = 1
let g:ale_lint_on_enter = 1
" FZF
map <c-p> :FZF<cr>
" NERDTree
map <C-n> :NERDTreeToggle<CR>
" deoplete
let g:deoplete#enable_at_startup = 1
" LanguageClient
set hidden
let g:LanguageClient_rootMarkers = {
\ 'javascript': ['.flowconfig', 'package.json']
\ }
let g:LanguageClient_serverCommands = {
\ 'javascript': ['flow', 'lsp'],
\ 'javascript.jsx': ['flow', 'lsp'],
\ 'python': ['/usr/local/bin/pyls'],
\ }
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
nnoremap <silent> gr :call LanguageClient#textDocument_rename()<CR>
" vim-test
nmap <silent> t<C-n> :TestNearest<CR>
nmap <silent> t<C-f> :TestFile<CR>
nmap <silent> t<C-s> :TestSuite<CR>
nmap <silent> t<C-l> :TestLast<CR>
nmap <silent> t<C-g> :TestVisit<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment