From f16a4b9c1cb750e595f0f3bf5cdfff30f9a71310 Mon Sep 17 00:00:00 2001 From: Andrejus Date: Thu, 23 Jul 2020 18:15:44 +0100 Subject: [PATCH] fzf bindings and terraform lsp --- files/.config/nvim/base.vim | 2 +- files/.config/nvim/coc-settings.json | 9 +++++++++ files/.config/nvim/mappings.vim | 17 +++++++++++------ files/.config/nvim/plugins.vim | 26 +++++++++++++++++++------- install/00-apt-pkglist | 2 ++ install/34-terraform.sh | 10 ++++++++++ 6 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 files/.config/nvim/coc-settings.json diff --git a/files/.config/nvim/base.vim b/files/.config/nvim/base.vim index e98b519..07c75ae 100644 --- a/files/.config/nvim/base.vim +++ b/files/.config/nvim/base.vim @@ -46,7 +46,7 @@ set cmdheight=2 " ============================================================================ " " Enable true color support -" set termguicolors +set termguicolors " Change vertical split character to be a space (essentially hide it) set fillchars+=vert:. diff --git a/files/.config/nvim/coc-settings.json b/files/.config/nvim/coc-settings.json new file mode 100644 index 0000000..b090e57 --- /dev/null +++ b/files/.config/nvim/coc-settings.json @@ -0,0 +1,9 @@ +{ + "languageserver": { + "terraform": { + "command": "terraform-lsp", + "filetypes": ["tf", "terraform"], + "initializationOptions": {} + } + } +} diff --git a/files/.config/nvim/mappings.vim b/files/.config/nvim/mappings.vim index 7254a94..f71ec0a 100644 --- a/files/.config/nvim/mappings.vim +++ b/files/.config/nvim/mappings.vim @@ -15,14 +15,19 @@ nmap k nmap l "fzf -nnoremap p :FZF -nnoremap P :FZF ~ +nnoremap p :Files +nnoremap P :Files ~ +nnoremap g :BCommits +nnoremap G :Commits +nnoremap f :Rg +nnoremap ; :Buffers + " === Nerdtree shorcuts === " -" n - Toggle NERDTree on/off -" f - Opens current file location in NERDTree -nmap n :NERDTreeToggle -nmap f :NERDTreeFind +" e - Toggle NERDTree on/off +" E - Opens current file location in NERDTree +nmap e :NERDTreeToggle +nmap E :NERDTreeFind " === coc.nvim === " " dd - Jump to definition of current symbol diff --git a/files/.config/nvim/plugins.vim b/files/.config/nvim/plugins.vim index 5c62a56..30619f7 100644 --- a/files/.config/nvim/plugins.vim +++ b/files/.config/nvim/plugins.vim @@ -3,20 +3,22 @@ " ============================================================================ " call plug#begin('~/.config/nvim/plugged') +" === Editor === " + " Sensible (?) defaults Plug 'tpope/vim-sensible' -" colorscheme +" colorschemes Plug 'flazz/vim-colorschemes' -" Icons +" dev icons Plug 'ryanoasis/vim-devicons' -" File explorer +" file explorer sidebar Plug 'scrooloose/nerdtree' Plug 'tiagofumo/vim-nerdtree-syntax-highlight' -" Customized vim status line +" status line Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' @@ -25,10 +27,11 @@ Plug 'vim-airline/vim-airline-themes' Plug 'dense-analysis/ale' " Intellisense Engine -Plug 'neoclide/coc.nvim', {'branch': 'release'} +Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'} " fzf Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' " elm Plug 'elmcast/elm-vim' @@ -92,7 +95,6 @@ let g:NERDTreeDirArrowCollapsible = '' " Hide certain files and directories from NERDTree let g:NERDTreeIgnore = ['\.git$[[dir]]'] - let g:elm_setup_keybindings = 0 let g:ale_fix_on_save = 1 @@ -147,7 +149,6 @@ xmap (neosnippet_expand_target) " Load custom snippets from snippets folder let g:neosnippet#snippets_directory='~/.config/nvim/snippets' -" Hide conceal markers let g:neosnippet#enable_conceal_markers = 0 " === Vim airline ==== " @@ -210,6 +211,17 @@ let g:used_javascript_libs = 'underscore,requirejs,chai,jquery' " === Signify === " let g:signify_sign_delete = '-' +" Fzf +let g:fzf_preview_window = 'right:60%' +let g:fzf_buffers_jump = 1 +let g:fzf_commits_log_options = '--graph --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr"' +let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.9 } } + +let $FZF_DEFAULT_OPTS="--ansi --preview-window 'right:60%' --layout reverse --margin=1,4 --preview 'bat --color=always --style=header,grid --line-range :300 {}'" +let $FZF_DEFAULT_COMMAND = 'rg --files --ignore-case --hidden -g "!{.git,node_modules,vendor}/*"' +command! -bang -nargs=? -complete=dir Files + \ call fzf#vim#files(, fzf#vim#with_preview(), 0) + " Call method on window enter augroup WindowManagement diff --git a/install/00-apt-pkglist b/install/00-apt-pkglist index 12ca5df..7d125bf 100644 --- a/install/00-apt-pkglist +++ b/install/00-apt-pkglist @@ -1,7 +1,9 @@ apt-transport-https +bat curl git gnupg2 +jq make neovim net-tools diff --git a/install/34-terraform.sh b/install/34-terraform.sh index 5e2a808..74ac7ab 100755 --- a/install/34-terraform.sh +++ b/install/34-terraform.sh @@ -13,3 +13,13 @@ fi echo "terraform is installed" terraform --version + +if not_installed "terraform-lsp"; then + echo "Installing terraform-lsp..." + wget https://github.com/juliosueiras/terraform-lsp/releases/download/v0.0.11-beta2/terraform-lsp_0.0.11-beta2_linux_amd64.tar.gz + tar -C "$dotfiles_dir/tmp" -xzf terraform-lsp_0.0.11-beta2_linux_amd64.tar.gz + rm terraform-lsp_0.0.11-beta2_linux_amd64.tar.gz + mv "$dotfiles_dir/tmp/terraform-lsp" ~/.local/bin +fi + +echo "terraform-lsp is installed"