summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Chiarulli <[email protected]>2019-02-12 18:35:28 -0500
committerChristian Chiarulli <[email protected]>2019-02-12 18:35:28 -0500
commit673a407d9dfba7b74187d35da2c135d429ac9b36 (patch)
tree3e0f887bf9c1b0a8c0b6e9e122033eb602514be5
parent5e1093a5a5acc95f7e447393d808fc7f8325ce53 (diff)
need to fix ALE markdown thing and create needed programs list but installed LSP
-rw-r--r--.ctagsignore1
-rw-r--r--init.vim5
-rw-r--r--modules/deoplete.vim15
-rw-r--r--modules/general.vim41
-rw-r--r--modules/gutentags_plus.vim11
-rw-r--r--modules/language_server.vim20
-rw-r--r--modules/markdown-preview.vim4
-rw-r--r--modules/plugins.vim27
-rw-r--r--modules/theme.vim2
-rw-r--r--old/init.vim5
10 files changed, 102 insertions, 29 deletions
diff --git a/.ctagsignore b/.ctagsignore
new file mode 100644
index 00000000..3807c9ed
--- /dev/null
+++ b/.ctagsignore
@@ -0,0 +1 @@
+dein
diff --git a/init.vim b/init.vim
index e87e9605..bce69e2d 100644
--- a/init.vim
+++ b/init.vim
@@ -7,3 +7,8 @@ source $HOME/.config/nvim/modules/airline.vim
source $HOME/.config/nvim/modules/deoplete.vim
source $HOME/.config/nvim/modules/nerdtree.vim
source $HOME/.config/nvim/modules/startify.vim
+source $HOME/.config/nvim/modules/gutentags_plus.vim
+source $HOME/.config/nvim/modules/markdown-preview.vim
+source $HOME/.config/nvim/modules/language_server.vim
+"install ripgrep"
+"install universal ctags"
diff --git a/modules/deoplete.vim b/modules/deoplete.vim
index 1774fa66..bdf8c6f1 100644
--- a/modules/deoplete.vim
+++ b/modules/deoplete.vim
@@ -1,4 +1,17 @@
" Enable deoplete
let g:deoplete#enable_at_startup = 1
+let g:deoplete#complete_method = "omnifunc"
+let g:deoplete#auto_complete_delay = 0
" <TAB>: completion.
-inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
+""inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
+"use TAB as the mapping
+inoremap <silent><expr> <TAB>
+ \ pumvisible() ? "\<C-n>" :
+ \ <SID>check_back_space() ? "\<TAB>" :
+ \ deoplete#mappings#manual_complete()
+function! s:check_back_space() abort ""
+ let col = col('.') - 1
+ return !col || getline('.')[col - 1] =~ '\s'
+endfunction ""
+inoremap <silent><expr><S-TAB> pumvisible() ? "\<C-p>" : "\<TAB>"
+inoremap <expr><BS> deoplete#smart_close_popup()."\<C-h>"
diff --git a/modules/general.vim b/modules/general.vim
index baf4cdaa..2fbf307c 100644
--- a/modules/general.vim
+++ b/modules/general.vim
@@ -31,15 +31,18 @@ set smarttab
" Converts tabs to spaces
set expandtab
" Makes indenting smart
-set smartindent
+""set smartindent
" Good auto indent
-set autoindent
+""set autoindent
" Always display the status line
set laststatus=2
" Line numbers
set number
" Enable highlighting of the current line
set cursorline
+" Get rid of annoying red highlights"
+let g:python_highlight_all = 0
+" Disable arrows"
let g:elite_mode=1
" Disable arrow movement, resize splits instead.
if get(g:, 'elite_mode')
@@ -56,22 +59,34 @@ nnoremap <C-Q> :wq!<CR>
nnoremap <C-c> <Esc>
" <TAB>: completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
-" F2 split vertical
-nnoremap <F2> :vsplit<CR>
-" F3 split horizontal
-nnoremap <F3> :split<CR>
-" Toggle Line numbers
-nnoremap <F4> :set nonumber!<CR>
-" Toggle NERDTree
-nnoremap <F5> :NERDTreeToggle<CR>
-" Get rid of highlights after search
-nnoremap <silent> <F7> :nohlsearch<CR><F7>
" Open terminal with F1
-nnoremap <F1> :10split term://bash<CR>
+nnoremap <silent> <F1> :10split term://bash<CR>
" insert mode for terminal
autocmd BufWinEnter,WinEnter term://* startinsert
autocmd BufLeave term://* stopinsert
+" Toggle tagbar
+nnoremap <silent> <F2> :tagbar<CR>
+" Toggle Line numbers
+nnoremap <silent> <F4> :set nonumber!<CR>
+" Toggle NERDTree
+nnoremap <silent> <F5> :NERDTreeToggle<CR>
+" Startify
+nnoremap <silent> <F6> :Startify<CR>
+" Get rid of highlights after search
+nnoremap <silent> <F7> :nohlsearch<CR><F7>
+" Toggle open buffers
+nnoremap <silent> <F8> :BuffergatorToggle<CR>
+" For fuzzy finder
+nnoremap <silent> <F9> :Files<CR>
+" F10 split vertical
+nnoremap <silent> <F10> :vsplit<CR>
+" F11 split horizontal
+nnoremap <silent> <F11> :split<CR>
+" Make current buffer only buffer
+nnoremap <silent> <F12> :only<CR>
" Remap window switch
+" Switch to rename for LSP to do add leader
+""nnoremap <F4> :SearchTasks *<CR>
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
diff --git a/modules/gutentags_plus.vim b/modules/gutentags_plus.vim
index 79f8ad7b..2e6b185e 100644
--- a/modules/gutentags_plus.vim
+++ b/modules/gutentags_plus.vim
@@ -2,10 +2,17 @@
let g:gutentags_modules = ['ctags', 'gtags_cscope']
" config project root markers.
-let g:gutentags_project_root = ['.root']
+let g:gutentags_project_root = ['.root', '.git']
" generate datebases in my cache directory, prevent gtags files polluting my project
let g:gutentags_cache_dir = expand('~/.cache/tags')
" change focus to quickfix window after search (optional).
-let g:gutentags_plus_switch = 1
+""let g:gutentags_plus_switch = 1
+
+" This will ignore everything in .gitignore"
+let g:gutentags_file_list_command = 'rg --files'
+
+"Install ripgrep"
+"Install ctags"
+".notags will ignore everything"
diff --git a/modules/language_server.vim b/modules/language_server.vim
new file mode 100644
index 00000000..8b9fb34c
--- /dev/null
+++ b/modules/language_server.vim
@@ -0,0 +1,20 @@
+" Required for operations modifying multiple buffers like rename.
+set hidden
+
+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'],
+ \ 'python': ['pyls'],
+ \ 'sh': ['bash-language-server', 'start'],
+ \ }
+" pyls doesn't need a path because it is defined in the neovim virtual
+" environment"
+" TODO add this to script npm i -g bash-language-server
+
+
+nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
+nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
+nnoremap <silent> <F3> :call LanguageClient#textDocument_rename()<CR>
diff --git a/modules/markdown-preview.vim b/modules/markdown-preview.vim
index 720fe39f..5ef9c2b8 100644
--- a/modules/markdown-preview.vim
+++ b/modules/markdown-preview.vim
@@ -16,12 +16,12 @@ let g:mkdp_refresh_slow = 0
" set to 1, the MarkdownPreview command can be use for all files,
" by default it just can be use in markdown file
" default: 0
-let g:mkdp_command_for_global = 1
+let g:mkdp_command_for_global = 0
" set to 1, preview server available to others in your network
" by default, the server only listens on localhost (127.0.0.1)
" default: 0
-let g:mkdp_open_to_the_world = 1
+let g:mkdp_open_to_the_world = 0
" use custom IP to open preview page
" useful when you work in remote vim and preview on local browser
diff --git a/modules/plugins.vim b/modules/plugins.vim
index e08ed106..66e9c015 100644
--- a/modules/plugins.vim
+++ b/modules/plugins.vim
@@ -1,8 +1,13 @@
" Add the dein installation directory into runtimepath
set runtimepath+=~/.config/nvim/dein/repos/github.com/Shougo/dein.vim
+function! DoRemote()
+ UpdateRemotePlugins
+endfunction
+
if dein#load_state('~/.config/nvim/dein')
call dein#begin('~/.config/nvim/dein')
+
" Themes
call dein#add('liuchengxu/space-vim-dark')
@@ -29,19 +34,27 @@ if dein#load_state('~/.config/nvim/dein')
call dein#add('jeetsukumaran/vim-buffergator')
" Ctrlp
call dein#add('ctrlpvim/ctrlp.vim')
- "Syntax
+ "Linting
call dein#add('w0rp/ale')
+ call dein#add('autozimu/LanguageClient-neovim', {
+ \ 'rev': 'next',
+ \ 'build': 'bash install.sh',
+ \ })
+ " Fuzzy finder
+ call dein#add('junegunn/fzf.vim', { 'dir': '~/.fzf', 'do': './install --all' })
+ call dein#add('junegunn/fzf')
+
+
"Git
call dein#add('airblade/vim-gitgutter')
call dein#add('tpope/vim-fugitive')
" BufOnly use :BufOnly to unload all or pass it a single buffer
call dein#add('vim-scripts/BufOnly.vim')
- " Markdown viewer
- "
- call dein#add('iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' })
+ " Markdown viewer TODO Fix this stupid thing
+ "call dein#add('iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' })
call dein#add('~/.config/nvim/dein/repos/github.com/Shougo/dein.vim')
- call dein#add('Shougo/deoplete.nvim')
+ call dein#add('Shougo/deoplete.nvim', {'do': 'UpdateRemotePlugins'})
if !has('nvim')
call dein#add('roxma/nvim-yarp')
call dein#add('roxma/vim-hug-neovim-rpc')
@@ -55,3 +68,7 @@ endif
if dein#check_install()
call dein#install()
endif
+
+
+" TODO inside dein/repos/ somewhere there are cach and state files which keep
+" screwing me for installing new plugins
diff --git a/modules/theme.vim b/modules/theme.vim
index 1679b2e4..38226b61 100644
--- a/modules/theme.vim
+++ b/modules/theme.vim
@@ -1,7 +1,7 @@
" Switch to whatever colorscheme you like
"colorscheme onedark
-"colorscheme gruvbox
+""colorscheme gruvbox
colorscheme tender
" This chunk is just for spacevim theme
diff --git a/old/init.vim b/old/init.vim
index 75fefbbd..050cbfd4 100644
--- a/old/init.vim
+++ b/old/init.vim
@@ -1,10 +1,5 @@
-nnoremap <F2> :BuffergatorToggle<CR>
-nnoremap <F3> :Files<CR>
-nnoremap <F4> :SearchTasks *<CR>
-nnoremap <F8> :TagbarToggle<CR>
-nnoremap <F12> :only<CR>