diff options
-rw-r--r-- | ftplugin/python.vim | 6 | ||||
-rw-r--r-- | init.vim | 10 | ||||
-rw-r--r-- | modules/ale.vim | 2 | ||||
-rw-r--r-- | modules/colorizer.vim | 4 | ||||
-rw-r--r-- | modules/emmet.vim | 1 | ||||
-rw-r--r-- | modules/general.vim | 8 | ||||
-rw-r--r-- | modules/language_server.vim | 6 | ||||
-rw-r--r-- | modules/neosnippets.vim | 22 | ||||
-rw-r--r-- | modules/plugins.vim | 12 | ||||
-rw-r--r-- | modules/pydocstring.vim | 2 | ||||
-rw-r--r-- | modules/rainbow.vim | 23 | ||||
-rw-r--r-- | utils/commands/leadercommands.txt (renamed from commands/leadercommands.txt) | 0 |
12 files changed, 88 insertions, 8 deletions
diff --git a/ftplugin/python.vim b/ftplugin/python.vim new file mode 100644 index 00000000..713a50c1 --- /dev/null +++ b/ftplugin/python.vim @@ -0,0 +1,6 @@ +" Python specific settings. +setlocal tabstop=4 +setlocal shiftwidth=4 +setlocal expandtab +setlocal autoindent +setlocal smarttab @@ -13,10 +13,18 @@ source $HOME/.config/nvim/modules/language_server.vim source $HOME/.config/nvim/modules/ale.vim source $HOME/.config/nvim/modules/goyo-limelight.vim source $HOME/.config/nvim/modules/relativenums.vim +source $HOME/.config/nvim/modules/pydocstring.vim +source $HOME/.config/nvim/modules/neosnippets.vim +source $HOME/.config/nvim/modules/emmet.vim +source $HOME/.config/nvim/modules/colorizer.vim +source $HOME/.config/nvim/modules/rainbow.vim +" Special test file " source $HOME/.config/nvim/modules/test.vim - +"TODO" +"change install script to install pyls in base and clone base instead" "npm i -g bash-language-server +"npm install -g javascript-typescript-langserver "install ripgrep" for gutentags to ignore .gitignore "install universal ctags" " TODO add this to script npm i -g bash-language-server diff --git a/modules/ale.vim b/modules/ale.vim index d2834cbd..4b67ff97 100644 --- a/modules/ale.vim +++ b/modules/ale.vim @@ -4,7 +4,7 @@ let g:ale_linters = { \ 'c' : ['gcc'], \ 'vim' : ['vint'], \ 'python': ['pydocstyle', 'pycodestyle', 'vulture'], - \ 'javascript': ['eslint'] + \ 'javascript': [] \} let g:ale_fixers = { diff --git a/modules/colorizer.vim b/modules/colorizer.vim new file mode 100644 index 00000000..9348451c --- /dev/null +++ b/modules/colorizer.vim @@ -0,0 +1,4 @@ +let g:colorizer_syntax = 1 +let g:colorizer_auto_filetype='js,css,html,jsx,ts,tsx' +au BufNewFile,BufRead *.css,*.html,*.htm,*.js,*.jsx,*.ts,*.tsx :ColorHighlight! + diff --git a/modules/emmet.vim b/modules/emmet.vim new file mode 100644 index 00000000..5c55ee59 --- /dev/null +++ b/modules/emmet.vim @@ -0,0 +1 @@ +let g:user_emmet_leader_key=',' diff --git a/modules/general.vim b/modules/general.vim index 5b187c79..b12f355c 100644 --- a/modules/general.vim +++ b/modules/general.vim @@ -14,15 +14,15 @@ set hidden " Required for specific actions that req set nowrap " display long lines as just one line set encoding=utf-8 " The encoding displayed set fileencoding=utf-8 " The encoding written to file -set ruler " show the cursor position all the time +set ruler " show the cursor position all the time set iskeyword+=- " treat dash separated words as a word text object" set mouse=a " Enable your mouse set splitbelow " Horizontal splits will automatically be below set splitright " Vertical splits will automatically be to the right set t_Co=256 " Support 256 colors set autochdir " Your working directory will always be the same as your working directory -set tabstop=4 " Insert 4 spaces for a tab -set shiftwidth=4 " Change the number of space characters inserted for indentation +set tabstop=2 " Insert 2 spaces for a tab +set shiftwidth=2 " Change the number of space characters inserted for indentation set smarttab " Makes tabbing smarter will realize you have 2 vs 4 set expandtab " Converts tabs to spaces set smartindent " Makes indenting smart @@ -92,6 +92,7 @@ nnoremap <silent> <leader>s :Startify<return> nnoremap <silent> <leader>w :w<return> nnoremap <silent> <leader>p :pclose<return> nnoremap <silent> <leader>b :BuffergatorToggle<return> +nnoremap <silent> <leader>ch :ColorToggle<return> nnoremap <silent> <leader>gy :Goyo<return> nnoremap <silent> <leader>hi :nohlsearch<return> nnoremap <silent> <leader>hs :split<return> @@ -112,6 +113,7 @@ nnoremap <silent> <leader>fr :call LanguageClient_textDocument_references()<CR> endfun nnoremap <silent> <leader>in :call OpenConfigFile('~/.config/nvim/init.vim')<cr> nnoremap <silent> <leader>bashrc :call OpenConfigFile('~/.bashrc')<cr> +nnoremap <silent> <leader>code :call OpenConfigFile('~/Library/Application Support/Code/User/settings.json')<cr> nnoremap <C-h> <C-w>h nnoremap <C-j> <C-w>j diff --git a/modules/language_server.vim b/modules/language_server.vim index e96c45a7..5f54e1d0 100644 --- a/modules/language_server.vim +++ b/modules/language_server.vim @@ -5,8 +5,8 @@ let g:LanguageClient_autoStart = 1 let g:LanguageClient_serverCommands = { \ 'rust': ['~/.cargo/bin/rustup', 'run', 'stable', 'rls'], - \ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'], - \ 'javascript.jsx': ['tcp://127.0.0.1:2089'], + \ 'javascript': ['javascript-typescript-stdio'], + \ 'javascript.jsx': ['javascript-typescript-stdio'], \ 'python': ['pyls'], \ 'sh': ['bash-language-server', 'start'], \ 'c' : ['cquery'], @@ -18,4 +18,4 @@ nnoremap <silent> <leader>gd :call LanguageClient_textDocument_definition()<CR> nnoremap <silent> <leader>gr :call LanguageClient_textDocument_rename()<CR> nnoremap <silent> <leader>gc :call LanguageClient_contextMenu()<CR> nnoremap <silent> <leader>fr :call LanguageClient_textDocument_references()<CR> - +nnoremap <silent> <leader>fix :call LanguageClient#textDocument_formatting()<CR> diff --git a/modules/neosnippets.vim b/modules/neosnippets.vim new file mode 100644 index 00000000..8f626ab6 --- /dev/null +++ b/modules/neosnippets.vim @@ -0,0 +1,22 @@ +" Plugin key-mappings. +" Note: It must be "imap" and "smap". It uses <Plug> mappings. +imap <C-l> <Plug>(neosnippet_expand_or_jump) +smap <C-l> <Plug>(neosnippet_expand_or_jump) +xmap <C-l> <Plug>(neosnippet_expand_target) + +imap <F4> <Plug>(neosnippet_expand_or_jump) +smap <F4> <Plug>(neosnippet_expand_or_jump) +xmap <F4> <Plug>(neosnippet_expand_target) +" SuperTab like snippets behavior. +" Note: It must be "imap" and "smap". It uses <Plug> mappings. +"imap <expr><TAB> +" \ pumvisible() ? "\<C-n>" : +" \ neosnippet#expandable_or_jumpable() ? +" \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" +smap <expr><TAB> neosnippet#expandable_or_jumpable() ? +\ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" + +" For conceal markers. +if has('conceal') + set conceallevel=2 concealcursor=niv +endif diff --git a/modules/plugins.vim b/modules/plugins.vim index 4fe4d5ce..debf33d1 100644 --- a/modules/plugins.vim +++ b/modules/plugins.vim @@ -15,6 +15,7 @@ if dein#load_state('~/.config/nvim/dein') " call dein#add('joshdick/onedark.vim') " call dein#add('morhetz/gruvbox') call dein#add('jacoborus/tender.vim') + call dein#add('luochen1990/rainbow') "Interface" call dein#add('Shougo/denite.nvim') " Neoterm @@ -28,6 +29,8 @@ if dein#load_state('~/.config/nvim/dein') call dein#add('vim-airline/vim-airline-themes') " File manager call dein#add('scrooloose/NERDTree') + " Comments " + call dein#add('scrooloose/nerdcommenter') " Icons call dein#add('ryanoasis/vim-devicons') call dein#add('tiagofumo/vim-nerdtree-syntax-highlight') @@ -70,6 +73,15 @@ if dein#load_state('~/.config/nvim/dein') call dein#add('~/.config/nvim/dein/repos/github.com/Shougo/dein.vim') call dein#add('Shougo/deoplete.nvim', {'do': 'UpdateRemotePlugins'}) call dein#add('Shougo/neoinclude.vim') + " Snippets " + call dein#add('Shougo/neosnippet.vim') + call dein#add('Shougo/neosnippet-snippets') + call dein#add('mattn/emmet-vim') + " Colorizer " + call dein#add('chrisbra/Colorizer') + " Python docstring " + call dein#add('heavenshell/vim-pydocstring') + if !has('nvim') call dein#add('roxma/nvim-yarp') call dein#add('roxma/vim-hug-neovim-rpc') diff --git a/modules/pydocstring.vim b/modules/pydocstring.vim new file mode 100644 index 00000000..34ce0e64 --- /dev/null +++ b/modules/pydocstring.vim @@ -0,0 +1,2 @@ +nmap <silent> <leader>doc <Plug>(pydocstring) + diff --git a/modules/rainbow.vim b/modules/rainbow.vim new file mode 100644 index 00000000..3403f902 --- /dev/null +++ b/modules/rainbow.vim @@ -0,0 +1,23 @@ +let g:rainbow_active = 1 "0 if you want to enable it later via :RainbowToggle +let g:rainbow_conf = { + \ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'], + \ 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], + \ 'operators': '_,_', + \ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'], + \ 'separately': { + \ '*': {}, + \ 'tex': { + \ 'parentheses': ['start=/(/ end=/)/', 'start=/\[/ end=/\]/'], + \ }, + \ 'lisp': { + \ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'], + \ }, + \ 'vim': { + \ 'parentheses': ['start=/(/ end=/)/', 'start=/\[/ end=/\]/', 'start=/{/ end=/}/ fold', 'start=/(/ end=/)/ containedin=vimFuncBody', 'start=/\[/ end=/\]/ containedin=vimFuncBody', 'start=/{/ end=/}/ fold containedin=vimFuncBody'], + \ }, + \ 'html': { + \ 'parentheses': ['start=/\v\<((area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)[ >])@!\z([-_:a-zA-Z0-9]+)(\s+[-_:a-zA-Z0-9]+(\=("[^"]*"|'."'".'[^'."'".']*'."'".'|[^ '."'".'"><=`]*))?)*\>/ end=#</\z1># fold'], + \ }, + \ 'css': 0, + \ } + \} diff --git a/commands/leadercommands.txt b/utils/commands/leadercommands.txt index c2d2479c..c2d2479c 100644 --- a/commands/leadercommands.txt +++ b/utils/commands/leadercommands.txt |