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 autocmd VimEnter * PlugInstall endif call plug#begin() " Plugins Plug 'miyakogi/seiya.vim' Plug 'ctrlpvim/ctrlp.vim' Plug 'FelikZ/ctrlp-py-matcher' Plug 'jeetsukumaran/vim-filebeagle' Plug 'bling/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'scrooloose/nerdtree' Plug 'christoomey/vim-tmux-navigator' Plug 'editorconfig/editorconfig-vim' Plug 'mhinz/vim-grepper' Plug 'tomtom/tcomment_vim' 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' "HTML & CSS Plug 'hail2u/vim-css3-syntax' Plug 'othree/html5.vim' Plug 'Valloric/MatchTagAlways' Plug 'digitaltoad/vim-jade' "Javascript "PHP Plug 'StanAngeloff/php.vim', {'for': 'php'} Plug 'lumiliet/vim-twig' 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' " Lua Plug 'xolox/vim-misc' Plug 'xolox/vim-lua-ftplugin' "Vue Plug 'posva/vim-vue' Plug 'sbdchd/neoformat' Plug 'wakatime/vim-wakatime' " Donnie says this is important function! DoRemote(arg) UpdateRemotePlugins endfunction call plug#end() let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#neomake#enabled = 0 syntax on colorscheme gotham set tabstop=2 set expandtab set shiftwidth=2 set smartcase set hlsearch set number set autoindent set incsearch set clipboard+=unnamedplus set noswapfile set t_Co=256 set hidden set relativenumber set list listchars=tab:»·,trail:·,nbsp:· set termguicolors set tags=.tags,./tags,tags; let g:airline_theme="gotham" "Option + Left and Right switch buffers "execute "set =\e\eC" "execute "set =\e\eD" nnoremap :bnext nnoremap :bprevious nnoremap :bd "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'] 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 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' " only start lsp when opening php files au filetype php LanguageClientStart " use LSP completion on ctrl-x ctrl-o as fallback for padawan in legacy projects au filetype php set omnifunc=LanguageClient#complete " 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 gd :call LanguageClient_textDocument_definition() nnoremap gr :call LanguageClient_textDocument_references() nnoremap K :call LanguageClient_textDocument_hover() " cycle through menu items with tab/shift+tab inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "\" 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="" let g:UltiSnipsJumpForwardTrigger="" let g:UltiSnipsJumpBackwardTrigger="" " PHP7 let g:ultisnips_php_scalar_types = 1 let g:seiya_auto_enable=1 let g:seiya_target_groups = has('nvim') ? ['guibg'] : ['ctermbg']