|
|
@ -1,4 +1,3 @@ |
|
|
|
|
|
|
|
if empty(glob('~/.config/nvim/autoload/plug.vim')) |
|
|
|
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs |
|
|
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |
|
|
@ -7,8 +6,6 @@ endif |
|
|
|
|
|
|
|
call plug#begin() |
|
|
|
" Plugins |
|
|
|
" Plug 'vim-lumiliet/vim-twigsyntastic/syntastic' |
|
|
|
Plug 'blueshirts/darcula' |
|
|
|
Plug 'ctrlpvim/ctrlp.vim' |
|
|
|
Plug 'FelikZ/ctrlp-py-matcher' |
|
|
|
Plug 'jeetsukumaran/vim-filebeagle' |
|
|
@ -17,56 +14,31 @@ Plug 'vim-airline/vim-airline-themes' |
|
|
|
Plug 'scrooloose/nerdtree' |
|
|
|
Plug 'christoomey/vim-tmux-navigator' |
|
|
|
Plug 'editorconfig/editorconfig-vim' |
|
|
|
"Plug 'Valloric/YouCompleteMe', { 'do': './install.py' } |
|
|
|
Plug 'mhinz/vim-grepper' |
|
|
|
Plug 'tomtom/tcomment_vim' |
|
|
|
" Plug 'roxma/nvim-completion-manager' |
|
|
|
"Plug 'chrisbra/Colorizer' |
|
|
|
Plug 'ap/vim-css-color' |
|
|
|
Plug 'autozimu/LanguageClient-neovim', { 'do': ':UpdateRemotePlugins' } |
|
|
|
Plug 'neomake/neomake' |
|
|
|
Plug 'ludovicchabant/vim-gutentags' |
|
|
|
" Colorschemes |
|
|
|
Plug 'whatyouhide/vim-gotham' |
|
|
|
Plug 'flazz/vim-colorschemes' |
|
|
|
" Plug 'ludovicchabant/vim-gutentags' |
|
|
|
" Syntax Checking |
|
|
|
Plug 'neomake/neomake', { 'on': 'Neomake' } |
|
|
|
Plug 'autozimu/LanguageClient-neovim', { 'do': ':UpdateRemotePlugins' } |
|
|
|
|
|
|
|
"HTML & CSS |
|
|
|
Plug 'hail2u/vim-css3-syntax' |
|
|
|
Plug 'othree/html5.vim' |
|
|
|
Plug 'mattn/emmet-vim' |
|
|
|
Plug 'Valloric/MatchTagAlways' |
|
|
|
Plug 'digitaltoad/vim-jade' |
|
|
|
|
|
|
|
"Javascript |
|
|
|
Plug 'pangloss/vim-javascript' |
|
|
|
Plug 'jelera/vim-javascript-syntax' |
|
|
|
Plug 'leafgarland/typescript-vim' |
|
|
|
Plug 'moll/vim-node' |
|
|
|
Plug 'samuelsimoes/vim-jsx-utils' |
|
|
|
Plug 'mlaursen/vim-react-snippets' |
|
|
|
Plug 'alampros/vim-react-keywords' |
|
|
|
Plug 'mxw/vim-jsx' |
|
|
|
Plug 'posva/vim-vue' |
|
|
|
Plug 'SirVer/ultisnips' |
|
|
|
Plug 'honza/vim-snippets' |
|
|
|
Plug 'ternjs/tern_for_vim', { 'for': ['javascript', 'javascript.jsx'] } |
|
|
|
Plug 'carlitux/deoplete-ternjs', { 'for': ['javascript', 'javascript.jsx'] } |
|
|
|
Plug 'othree/jspc.vim', { 'for': ['javascript', 'javascript.jsx'] } |
|
|
|
Plug 'elmcast/elm-vim' |
|
|
|
|
|
|
|
"PHP |
|
|
|
Plug 'tanarurkerem/drupal-snippets' |
|
|
|
Plug 'lvht/phpcd.vim', { 'for': 'php', 'do': 'composer install' } |
|
|
|
Plug 'joonty/vdebug' |
|
|
|
Plug 'StanAngeloff/php.vim', {'for': 'php'} |
|
|
|
Plug 'lumiliet/vim-twig' |
|
|
|
Plug 'StanAngeloff/php.vim' |
|
|
|
Plug 'noahfrederick/vim-composer' |
|
|
|
" Plug 'jaredly/vim-debug' |
|
|
|
Plug 'roxma/LanguageServer-php-neovim', {'do': 'composer install && composer run-script parse-stubs'} |
|
|
|
" Python Plugins |
|
|
|
Plug 'zchee/deoplete-jedi' |
|
|
|
|
|
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } |
|
|
|
Plug 'padawan-php/deoplete-padawan', { 'for': 'php' } |
|
|
|
Plug 'roxma/LanguageServer-php-neovim', {'do': 'composer install && composer run-script parse-stubs', 'for': 'php'} |
|
|
|
Plug 'SirVer/ultisnips' | Plug 'phux/vim-snippets' |
|
|
|
"Git plugin |
|
|
|
Plug 'tpope/vim-fugitive' |
|
|
|
|
|
|
@ -84,59 +56,10 @@ endfunction |
|
|
|
Plug 'Shougo/deoplete.nvim', { 'do': function('DoRemote') } |
|
|
|
|
|
|
|
call plug#end() |
|
|
|
"markdown don't instant open preview window |
|
|
|
":InstandMarkdownPreview to view preview |
|
|
|
let g:instant_markdown_autostart = 0 |
|
|
|
|
|
|
|
let g:airline#extensions#tabline#enabled = 1 |
|
|
|
let g:airline#extensions#neomake#enabled = 0 |
|
|
|
|
|
|
|
autocmd! BufWritePost * Neomake |
|
|
|
|
|
|
|
if has("autocmd") |
|
|
|
" Drupal *.module and *.install files. |
|
|
|
augroup module |
|
|
|
autocmd BufRead,BufNewFile *.module set filetype=php |
|
|
|
autocmd BufRead,BufNewFile *.install set filetype=php |
|
|
|
autocmd BufRead,BufNewFile *.test set filetype=php |
|
|
|
autocmd BufRead,BufNewFile *.inc set filetype=php |
|
|
|
autocmd BufRead,BufNewFile *.profile set filetype=php |
|
|
|
autocmd BufRead,BufNewFile *.view set filetype=php |
|
|
|
augroup END |
|
|
|
endif |
|
|
|
|
|
|
|
let g:gutentags_ctags_tagfile = '.tags' |
|
|
|
let g:gutentags_ctags_executable_php = 'ctags --langmap=php:.engine.inc.module.theme.install.php --php-kinds=cdfi --fields=+l' |
|
|
|
|
|
|
|
" PHP |
|
|
|
augroup module |
|
|
|
autocmd BufRead,BufNewFile *.module set filetype=php.drupal |
|
|
|
autocmd BufRead,BufNewFile *.install set filetype=php.drupal |
|
|
|
autocmd BufRead,BufNewFile *.test set filetype=php.drupal |
|
|
|
autocmd BufRead,BufNewFile *.inc set filetype=php.drupal |
|
|
|
autocmd BufRead,BufNewFile *.profile set filetype=php.drupal |
|
|
|
autocmd BufRead,BufNewFile *.view set filetype=php.drupal |
|
|
|
augroup END |
|
|
|
|
|
|
|
autocmd FileType php,php.drupal LanguageClientStart |
|
|
|
|
|
|
|
autocmd CursorHold :call LanguageClient_textDocument_hover()<CR> |
|
|
|
autocmd FileType php,php.drupal nnoremap <silent> <C-]> :call LanguageClient_textDocument_definition()<CR> |
|
|
|
autocmd FileType php,php.drupal nnoremap <silent> <F9> :call LanguageClient_textDocument_rename()<CR> |
|
|
|
|
|
|
|
autocmd FileType php,php.drupal nnoremap <F8> <Plug>(composer-use) |
|
|
|
autocmd FileType php,php.drupal inoremap <F8> <Plug>(composer-use) |
|
|
|
|
|
|
|
function! PhpSyntaxOverride() |
|
|
|
hi! def link phpDocTags phpDefine |
|
|
|
hi! def link phpDocParam phpType |
|
|
|
endfunction |
|
|
|
|
|
|
|
augroup phpSyntaxOverride |
|
|
|
autocmd! |
|
|
|
autocmd FileType php call PhpSyntaxOverride() |
|
|
|
augroup END |
|
|
|
|
|
|
|
|
|
|
|
syntax on |
|
|
|
colorscheme gotham |
|
|
@ -158,15 +81,31 @@ set termguicolors |
|
|
|
set tags=.tags,./tags,tags; |
|
|
|
|
|
|
|
let g:airline_theme="gotham" |
|
|
|
"add .p8 as lua for pico-8 |
|
|
|
au BufNewFile,BufRead *.p8 set filetype=lua |
|
|
|
|
|
|
|
"deoplete stuff |
|
|
|
"Option + Left and Right switch buffers |
|
|
|
"execute "set <M-Right>=\e\eC" |
|
|
|
"execute "set <M-Left>=\e\eD" |
|
|
|
nnoremap <silent> <C-Right> :bnext<CR> |
|
|
|
nnoremap <silent> <C-Left> :bprevious<CR> |
|
|
|
nnoremap <silent> <C-Del> :bd<CR> |
|
|
|
|
|
|
|
"Syntastic default settings |
|
|
|
set statusline+=%#warningmsg# |
|
|
|
set statusline+=%{SyntasticStatuslineFlag()} |
|
|
|
set statusline+=%* |
|
|
|
|
|
|
|
" let g:deoplete#sources#padawan#add_parentheses = 1 |
|
|
|
" needed for echodoc to work if add_parentheses is 1 |
|
|
|
|
|
|
|
" let g:deoplete#sources = get(g:,'deoplete#sources',{}) |
|
|
|
" let g:deoplete#sources.php = ['padawan', 'ultisnips', 'tags', 'buffer', 'LanguageClient'] |
|
|
|
|
|
|
|
let g:deoplete#enable_at_startup = 1 |
|
|
|
let g:deoplete#enable_ignore_case = 1 |
|
|
|
let g:deoplete#enable_smart_case = 1 |
|
|
|
let g:deoplete#enable_camel_case = 1 |
|
|
|
let g:deoplete#enable_refresh_always = 1 |
|
|
|
let g:deoplete#file#enable_buffer_path = 1 |
|
|
|
let g:deoplete#max_abbr_width = 0 |
|
|
|
let g:deoplete#max_menu_width = 0 |
|
|
|
let g:deoplete#omni#input_patterns = get(g:,'deoplete#omni#input_patterns',{}) |
|
|
@ -175,51 +114,78 @@ let g:deoplete#omni#input_patterns.java = [ |
|
|
|
\'[^. \t0-9]\->\w*', |
|
|
|
\'[^. \t0-9]\::\w*', |
|
|
|
\] |
|
|
|
let g:deoplete#omni#input_patterns.jsp = ['[^. \t0-9]\.\w*'] |
|
|
|
let g:deoplete#ignore_sources = {} |
|
|
|
|
|
|
|
call deoplete#custom#set('buffer', 'mark', 'ℬ') |
|
|
|
call deoplete#custom#set('ternjs', 'mark', '') |
|
|
|
call deoplete#custom#set('omni', 'mark', '⌾') |
|
|
|
call deoplete#custom#set('file', 'mark', 'file') |
|
|
|
call deoplete#custom#set('jedi', 'mark', '') |
|
|
|
call deoplete#custom#set('typescript', 'mark', '') |
|
|
|
call deoplete#custom#set('neosnippet', 'mark', '') |
|
|
|
call deoplete#custom#set('java', 'mark', '') |
|
|
|
call deoplete#custom#set('javacomplete2', 'mark', '') |
|
|
|
|
|
|
|
call deoplete#custom#set('typescript', 'rank', 630) |
|
|
|
|
|
|
|
set completefunc=autoprogramming#complete |
|
|
|
let g:deoplete#auto_complete_delay = 50 |
|
|
|
let g:deoplete#ignore_sources = get(g:,'deoplete#ignore_sources',{}) |
|
|
|
let g:deoplete#ignore_sources.java = ['omni'] |
|
|
|
let g:deoplete#omni#functions = {} |
|
|
|
let g:deoplete#omni#functions.javascript = [ |
|
|
|
\ 'tern#Complete', |
|
|
|
\] |
|
|
|
let g:deoplete#omni#input_patterns.javascript = '[^. \t]\.\w*' |
|
|
|
let g:deoplete#ignore_sources = get(g:, 'deoplete#ignore_sources', {}) |
|
|
|
let g:deoplete#ignore_sources.php = ['omni'] |
|
|
|
call deoplete#custom#set('javacomplete2', 'mark', '') |
|
|
|
let g:deoplete#omni#functions = get(g:,'deoplete#omni#functions',{}) |
|
|
|
call deoplete#custom#set('_', 'matchers', ['matcher_full_fuzzy']) |
|
|
|
call deoplete#custom#set('omni', 'min_pattern_length', 0) |
|
|
|
inoremap <expr><C-h> deoplete#mappings#smart_close_popup()."\<C-h>" |
|
|
|
inoremap <expr><BS> deoplete#mappings#smart_close_popup()."\<C-h>" |
|
|
|
"Nertree Toggle |
|
|
|
map <C-n> :NERDTreeToggle<CR> |
|
|
|
let NERDTreeShowHidden=1 |
|
|
|
inoremap <expr><C-x><C-o> deoplete#mappings#manual_complete() |
|
|
|
|
|
|
|
function! GutentagsFilter(path) abort |
|
|
|
if fnamemodify(a:path, ':e') == 'java' |
|
|
|
return 0 |
|
|
|
elseif fnamemodify(a:path, ':e') == '' |
|
|
|
return 0 |
|
|
|
elseif fnamemodify(a:path, ':e') == 'xml' |
|
|
|
return 0 |
|
|
|
elseif fnamemodify(a:path, ':e') == 'gradle' |
|
|
|
return 0 |
|
|
|
else |
|
|
|
return 1 |
|
|
|
endif |
|
|
|
endfunction |
|
|
|
|
|
|
|
" enable all Python syntax highlighting features |
|
|
|
let python_highlight_all = 1 |
|
|
|
let g:gutentags_enabled_user_func = 'GutentagsFilter' |
|
|
|
let g:gutentags_ctags_tagfile = '.tags' |
|
|
|
let g:gutentags_ctags_executable_php = 'ctags --langmap=php:.engine.inc.module.theme.install.php --php-kinds=cdfi --fields=+l' |
|
|
|
|
|
|
|
"Option + Left and Right switch buffers |
|
|
|
"execute "set <M-Right>=\e\eC" |
|
|
|
"execute "set <M-Left>=\e\eD" |
|
|
|
nnoremap <silent> <C-Right> :bnext<CR> |
|
|
|
nnoremap <silent> <C-Left> :bprevious<CR> |
|
|
|
nnoremap <silent> <C-Del> :bd<CR> |
|
|
|
|
|
|
|
"sort scss alphabetically |
|
|
|
nnoremap <C-a> :g#\({\n\)\@<=#.,/\.*[{}]\@=/-1 sort<CR> |
|
|
|
":h i_CTRL-V |
|
|
|
" only start lsp when opening php files |
|
|
|
au filetype php LanguageClientStart |
|
|
|
|
|
|
|
"Make TComment work as I expect |
|
|
|
noremap <leader>/ :TComment <CR> |
|
|
|
vmap <leader>/ :TCommentBlock<CR> |
|
|
|
" use LSP completion on ctrl-x ctrl-o as fallback for padawan in legacy projects |
|
|
|
au filetype php set omnifunc=LanguageClient#complete |
|
|
|
|
|
|
|
"Syntastic default settings |
|
|
|
set statusline+=%#warningmsg# |
|
|
|
set statusline+=%{SyntasticStatuslineFlag()} |
|
|
|
set statusline+=%* |
|
|
|
" no need for diagnostics, we're going to use neomake for that |
|
|
|
let g:LanguageClient_diagnosticsEnable = 0 |
|
|
|
let g:LanguageClient_signColumnAlwaysOn = 0 |
|
|
|
|
|
|
|
" I only use these 3 mappings |
|
|
|
nnoremap <silent> gd :call LanguageClient_textDocument_definition()<CR> |
|
|
|
nnoremap <silent> gr :call LanguageClient_textDocument_references()<CR> |
|
|
|
nnoremap K :call LanguageClient_textDocument_hover()<cr> |
|
|
|
|
|
|
|
" cycle through menu items with tab/shift+tab |
|
|
|
inoremap <expr> <TAB> pumvisible() ? "\<c-n>" : "\<TAB>" |
|
|
|
inoremap <expr> <s-tab> pumvisible() ? "\<c-p>" : "\<TAB>" |
|
|
|
|
|
|
|
autocmd BufWritePost * Neomake |
|
|
|
let g:neomake_error_sign = {'text': '✖', 'texthl': 'NeomakeErrorSign'} |
|
|
|
let g:neomake_warning_sign = {'text': '∆', 'texthl': 'NeomakeWarningSign'} |
|
|
|
let g:neomake_message_sign = {'text': '➤', 'texthl': 'NeomakeMessageSign'} |
|
|
|
let g:neomake_info_sign = {'text': 'ℹ', 'texthl': 'NeomakeInfoSign'} |
|
|
|
|
|
|
|
let g:UltiSnipsExpandTrigger="<c-j>" |
|
|
|
let g:UltiSnipsJumpForwardTrigger="<c-j>" |
|
|
|
let g:UltiSnipsJumpBackwardTrigger="<c-b>" |
|
|
|
|
|
|
|
" PHP7 |
|
|
|
let g:ultisnips_php_scalar_types = 1 |
|
|
|
|
|
|
|
" let g:syntastic_always_populate_loc_list = 1 |
|
|
|
" let g:syntastic_auto_loc_list = 1 |
|
|
|
" let g:syntastic_check_on_open = 1 |
|
|
|
" let g:syntastic_check_on_wq = 0 |
|
|
|
" |
|
|
|
autocmd BufNewFile,BufRead *.theme set syntax=php |