From 68f34bb33fab1420b9b6e9412687765d3134fe87 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Thu, 12 Jan 2023 09:27:32 -0700 Subject: [PATCH] use astronvim instead of other configs --- dot_config/.keep | 0 dot_config/nvim/.keep | 0 dot_config/nvim/cmp_init.vim | 114 -------------- dot_config/nvim/coc_init.vim | 162 -------------------- dot_config/nvim/coq_init.vim | 64 -------- dot_config/nvim/init.vim | 18 --- dot_config/nvim/lua/lsp_keymap.lua | 35 ----- dot_config/nvim/templates/general.vim | 146 ------------------ dot_config/nvim/templates/general_plugs.vim | 30 ---- run_once_install.sh.tmpl | 1 + 10 files changed, 1 insertion(+), 569 deletions(-) delete mode 100644 dot_config/.keep delete mode 100644 dot_config/nvim/.keep delete mode 100644 dot_config/nvim/cmp_init.vim delete mode 100644 dot_config/nvim/coc_init.vim delete mode 100644 dot_config/nvim/coq_init.vim delete mode 100644 dot_config/nvim/init.vim delete mode 100644 dot_config/nvim/lua/lsp_keymap.lua delete mode 100644 dot_config/nvim/templates/general.vim delete mode 100644 dot_config/nvim/templates/general_plugs.vim diff --git a/dot_config/.keep b/dot_config/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_config/nvim/.keep b/dot_config/nvim/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_config/nvim/cmp_init.vim b/dot_config/nvim/cmp_init.vim deleted file mode 100644 index f61935a..0000000 --- a/dot_config/nvim/cmp_init.vim +++ /dev/null @@ -1,114 +0,0 @@ - -call plug#begin() - source $HOME/.config/nvim/templates/general_plugs.vim - " LSP resources - Plug 'neovim/nvim-lspconfig' - Plug 'williamboman/nvim-lsp-installer' - Plug 'hrsh7th/cmp-nvim-lsp' - Plug 'hrsh7th/cmp-buffer' - Plug 'hrsh7th/cmp-path' - Plug 'hrsh7th/cmp-cmdline' - Plug 'hrsh7th/nvim-cmp' - - " For vsnip users. - Plug 'hrsh7th/cmp-vsnip' - Plug 'hrsh7th/vim-vsnip' - - " For luasnip users. - " Plug 'L3MON4D3/LuaSnip' - " Plug 'saadparwaiz1/cmp_luasnip' - - " For ultisnips users. - " Plug 'SirVer/ultisnips' - " Plug 'quangnguyen30192/cmp-nvim-ultisnips' - - " For snippy users. - " Plug 'dcampos/nvim-snippy' - " Plug 'dcampos/cmp-snippy' - -call plug#end() - -source $HOME/.config/nvim/templates/general.vim - -" Theme -colorscheme OceanicNext - -lua <'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }), - [''] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }), - [''] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }), - [''] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. - [''] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - [''] = cmp.mapping.confirm({ select = true }), - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, - { name = 'vsnip' }, -- For vsnip users. - -- { name = 'luasnip' }, -- For luasnip users. - -- { name = 'ultisnips' }, -- For ultisnips users. - -- { name = 'snippy' }, -- For snippy users. - }, { - { name = 'buffer' }, - }) - }) - - -- Use buffer source for `/` (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline('/', { - sources = { - { name = 'buffer' } - } - }) - - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline(':', { - sources = cmp.config.sources({ - { name = 'path' } - }, { - { name = 'cmdline' } - }) - }) - -- Use an on_attach function to only map the following keys - -- after the language server attaches to the current buffer - local lsp_keymap = require('lsp_keymap') - - local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities()) - lsp_installer.on_server_ready(function(server) - - -- (optional) Customize the options passed to the server - -- if server.name == "tsserver" then - -- opts.root_dir = function() ... end - -- end - - -- This setup() function is exactly the same as lspconfig's setup function. - -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - server:setup {capabilities = capabilities, on_attach = lsp_keymap.custom_attach} - end) -EOF - -" Local config -if filereadable($HOME . "/.vimrc.local") - source ~/.vimrc.local -endif - -" Specific Local config -if filereadable($HOME . "/.config/nvim/cmp_init.vim.local") - source ~/.config/nvim/cmp_init.vim.local -endif diff --git a/dot_config/nvim/coc_init.vim b/dot_config/nvim/coc_init.vim deleted file mode 100644 index f2f37b1..0000000 --- a/dot_config/nvim/coc_init.vim +++ /dev/null @@ -1,162 +0,0 @@ -call plug#begin() - source $HOME/.config/nvim/templates/general_plugs.vim - Plug 'neoclide/coc.nvim', {'branch': 'release'} -call plug#end() - -source $HOME/.config/nvim/templates/general.vim - -" Theme -colorscheme gruvbox - -" Use tab for trigger completion with characters ahead and navigate. -" NOTE: Use command ':verbose imap ' to make sure tab is not mapped by -" other plugin before putting this into your config. -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ coc#refresh() -inoremap pumvisible() ? "\" : "\" - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use to trigger completion. -if has('nvim') - inoremap coc#refresh() -else - inoremap coc#refresh() -endif - -" Make auto-select the first completion item and notify coc.nvim to -" format on enter, could be remapped by other vim plugin -inoremap pumvisible() ? coc#_select_confirm() - \: "\u\\=coc#on_enter()\" - -" Use `[g` and `]g` to navigate diagnostics -" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. -nmap [g (coc-diagnostic-prev) -nmap ]g (coc-diagnostic-next) - -" GoTo code navigation. -nmap gd (coc-definition) -nmap gx (coc-type-definition) -nmap gi (coc-implementation) -nmap gr (coc-references) - -" Navigate buffers like tabs (gt & gT) -nnoremap gb :bnext -nnoremap gB :bprevious - -" Use K to show documentation in preview window. -nnoremap K :call show_documentation() - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - execute 'h '.expand('') - elseif (coc#rpc#ready()) - call CocActionAsync('doHover') - else - execute '!' . &keywordprg . " " . expand('') - endif -endfunction - -" Highlight the symbol and its references when holding the cursor. -autocmd CursorHold * silent call CocActionAsync('highlight') - -" Symbol renaming. -nmap rn (coc-rename) - -" Formatting selected code. -xmap f (coc-format-selected) -nmap f (coc-format-selected) - -augroup mygroup - autocmd! - " Setup formatexpr specified filetype(s). - autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') - " Update signature help on jump placeholder. - autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') -augroup end - -" Applying codeAction to the selected region. -" Example: `aap` for current paragraph -xmap a (coc-codeaction-selected) -nmap a (coc-codeaction-selected) - -" Remap keys for applying codeAction to the current buffer. -nmap ac (coc-codeaction) -" Apply AutoFix to problem on the current line. -nmap qf (coc-fix-current) - -" Map function and class text objects -" NOTE: Requires 'textDocument.documentSymbol' support from the language server. -xmap if (coc-funcobj-i) -omap if (coc-funcobj-i) -xmap af (coc-funcobj-a) -omap af (coc-funcobj-a) -xmap ic (coc-classobj-i) -omap ic (coc-classobj-i) -xmap ac (coc-classobj-a) -omap ac (coc-classobj-a) - -" Remap and for scroll float windows/popups. -if has('nvim-0.4.0') || has('patch-8.2.0750') - nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" - nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" - inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" - inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" - vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" - vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" -endif - -" Use CTRL-S for selections ranges. -" Requires 'textDocument/selectionRange' support of language server. -nmap (coc-range-select) -xmap (coc-range-select) - - -" Add `:Format` command to format current buffer. -command! -nargs=0 Format :call CocAction('format') - -" Add `:Fold` command to fold current buffer. -command! -nargs=? Fold :call CocAction('fold', ) - -" Add `:OR` command for organize imports of the current buffer. -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add (Neo)Vim's native statusline support. -" NOTE: Please see `:h coc-status` for integrations with external plugins that -" provide custom statusline: lightline.vim, vim-airline. -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} - -" Mappings for CoCList -" Show all diagnostics. -nnoremap a :CocList diagnostics -" Manage extensions. -nnoremap x :CocList extensions -" Show commands. -nnoremap c :CocList commands -" Find symbol of current document. -nnoremap o :CocList outline -" Search workspace symbols. -nnoremap s :CocList -I symbols -" Do default action for next item. -nnoremap j :CocNext -" Do default action for previous item. -nnoremap k :CocPrev -" Resume latest coc list. -nnoremap p :CocListResume - -nmap e :CocCommand explorer - -" Local config -if filereadable($HOME . "/.vimrc.local") - source ~/.vimrc.local -endif - -" Specific Local config -if filereadable($HOME . "/.config/nvim/coc_init.vim.local") - source ~/.config/nvim/coc_init.vim.local -endif diff --git a/dot_config/nvim/coq_init.vim b/dot_config/nvim/coq_init.vim deleted file mode 100644 index 2fc0a04..0000000 --- a/dot_config/nvim/coq_init.vim +++ /dev/null @@ -1,64 +0,0 @@ -call plug#begin() - source $HOME/.config/nvim/templates/general_plugs.vim - " LSP resources - Plug 'neovim/nvim-lspconfig' - Plug 'williamboman/nvim-lsp-installer' - Plug 'ms-jpq/coq_nvim', {'branch': 'coq'} - Plug 'ms-jpq/coq.artifacts', {'branch': 'artifacts'} -call plug#end() - -source $HOME/.config/nvim/templates/general.vim - -set omnifunc=v:lua.vim.lsp.omnifunc - -" Theme -set background=dark -colorscheme onedark - -lua << EOF -vim.g.coq_settings = { - auto_start = 'shut-up', - ['keymap.jump_to_mark'] = '', - ['display.icons.mode'] = 'none', - ['clients.third_party.enabled'] = false, -} - - -local nvim_lsp = require('lspconfig') -local coc = require "coq" -local lsp_installer = require("nvim-lsp-installer") - --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local lsp_keymap = require('lsp_keymap') - --- Register a handler that will be called for all installed servers. --- Alternatively, you may also register handlers on specific server instances instead (see example below). -lsp_installer.on_server_ready(function(server) - - -- (optional) Customize the options passed to the server - -- local opts = {} - -- if server.name == "tsserver" then - -- opts.root_dir = function() ... end - -- end - - -- This setup() function is exactly the same as lspconfig's setup function. - -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - - -- Without coq.nvim: - -- server:setup(opts) - - -- With coq.nvim: - server:setup(coq.lsp_ensure_capabilities{on_attach = lsp_keymap.custom_attach}) -end) -EOF - -" Local config -if filereadable($HOME . "/.vimrc.local") - source ~/.vimrc.local -endif - -" Specific Local config -if filereadable($HOME . "/.config/nvim/coq_init.vim.local") - source ~/.config/nvim/coq_init.vim.local -endif diff --git a/dot_config/nvim/init.vim b/dot_config/nvim/init.vim deleted file mode 100644 index ff846c6..0000000 --- a/dot_config/nvim/init.vim +++ /dev/null @@ -1,18 +0,0 @@ -call plug#begin() - source $HOME/.config/nvim/templates/general_plugs.vim -call plug#end() - -source $HOME/.config/nvim/templates/general.vim - -"Theme -colorscheme gruvbox - -" Local config -if filereadable($HOME . "/.vimrc.local") - source ~/.vimrc.local -endif - -" Specific Local config -if filereadable($HOME . "/.config/nvim/init.vim.local") - source ~/.config/nvim/init.vim.local -endif diff --git a/dot_config/nvim/lua/lsp_keymap.lua b/dot_config/nvim/lua/lsp_keymap.lua deleted file mode 100644 index 6dd0083..0000000 --- a/dot_config/nvim/lua/lsp_keymap.lua +++ /dev/null @@ -1,35 +0,0 @@ -local M = {} -function M.custom_attach(client, bufnr) - local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end - - -- Enable completion triggered by - buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') - - -- Mappings. - local opts = { noremap=true, silent=true } - - -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) - buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) - buf_set_keymap('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) - buf_set_keymap('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) - buf_set_keymap('n', 'D', 'lua vim.lsp.buf.type_definition()', opts) - buf_set_keymap('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - buf_set_keymap('n', 'ca', 'lua vim.lsp.buf.code_action()', opts) - buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) - buf_set_keymap('n', 'e', 'lua vim.lsp.diagnostic.show_line_diagnostics()', opts) - buf_set_keymap('n', '[d', 'lua vim.lsp.diagnostic.goto_prev()', opts) - buf_set_keymap('n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) - buf_set_keymap('n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) - buf_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', opts) - - print("Language Server attached!") - -end - -return M diff --git a/dot_config/nvim/templates/general.vim b/dot_config/nvim/templates/general.vim deleted file mode 100644 index 9fc357c..0000000 --- a/dot_config/nvim/templates/general.vim +++ /dev/null @@ -1,146 +0,0 @@ -" Automatically install vim plug -let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim' -if empty(glob(data_dir . '/autoload/plug.vim')) - silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' - autocmd VimEnter * PlugInstall --sync | source $MYVIMRC -endif - -set nocompatible -set completeopt=menu,menuone,noselect - -" Set leader to comma -let mapleader="," - -" Set to open tree -nnoremap NERDTreeToggle -" Start NERDTree when Vim is started without file arguments. -autocmd StdinReadPre * let s:std_in=1 -autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif - -" Set to open Vista Sidebar -nnoremap ; Vista!! - -let g:vista#renderer#enable_icon = 1 -let g:vista#renderer#icons = { -\ "function": "\uf794", -\ "variable": "\uf71b", -\ } -" To enable fzf's preview window set g:vista_fzf_preview. -" The elements of g:vista_fzf_preview will be passed as arguments to fzf#vim#with_preview() -" For example: -let g:vista_fzf_preview = ['right:50%'] - - - -map :Files - -let g:cpp_class_scope_highlight = 1 -let g:cpp_member_variable_highlight = 1 -let g:cpp_class_decl_highlight = 1 -let g:cpp_posix_standard = 1 -let g:cpp_experimental_template_highlight = 1 - -let g:airline#extensions#tabline#enabled = 1 -let g:airline#extensions#tabline#buffer_nr_show = 1 -let g:airline_powerline_fonts = 1 -let g:airline_theme='tomorrow' -let g:airline_solarized_bg='dark' -let g:airline#extensions#hunks#enabled=1 -let g:airline#extensions#branch#enabled=1 - -" Quick edit init.vim -nnoremap v :n $MYVIMRC - -" For vim-test: these Ctrl mappings work well when Caps Lock is mapped to Ctrl -nmap t :TestNearest -nmap t :TestFile -nmap t :TestSuite -nmap t :TestLast -nmap t :TestVisit -let test#strategy = "asyncrun" - -" Reloads vimrc after saving but keep cursor position -if !exists('*ReloadVimrc') - fun! ReloadVimrc() - let save_cursor = getcurpos() - source $MYVIMRC - call setpos('.', save_cursor) - endfun -endif -autocmd! BufWritePost $MYVIMRC call ReloadVimrc() - -set background=dark -" Or if you have Neovim >= 0.1.5 -if (has("termguicolors")) - set termguicolors -endif - -" Theme -syntax enable - -" Navigate buffers like tabs (gt & gT) -nnoremap gb :bnext -nnoremap gB :bprevious - -" TextEdit might fail if hidden is not set. -set hidden -set number - -set tabstop=4 -set shiftwidth=4 -set softtabstop=4 -set expandtab -set smarttab - -" Some servers have issues with backup files, see #649. -set nobackup -set nowritebackup - -" Give more space for displaying messages. -set cmdheight=2 - -" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable -" delays and poor user experience. -set updatetime=1000 - -" Don't pass messages to |ins-completion-menu|. -set shortmess+=c - -" Allow mouse input -set mouse=a - -" Always show the signcolumn, otherwise it would shift the text each time -" diagnostics appear/become resolved. -if has("patch-8.1.1564") - " Recently vim can merge signcolumn and number column into one - set signcolumn=number -else - set signcolumn=yes -endif - -" Set termdebug -let g:termdebug_wide=1 - -" Experimental Treesitter Plugin -" lua << EOF -" require'nvim-treesitter.configs'.setup { -" ensure_installed = { "zig", "python", "c", "bash", "json" }, -- one of "all", "maintained" (parsers with maintainers), or a list of languages -" sync_install = false, -- install languages synchronously (only applied to `ensure_installed`) -" ignore_install = { "javascript" }, -- List of parsers to ignore installing -" highlight = { -" enable = true, -- false will disable the whole extension -" -- disable = { "c", "rust" }, -- list of language that will be disabled -" -- Setting this to true will run `:h syntax` and tree-sitter at the same time. -" -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). -" -- Using this option may slow down your editor, and you may see some duplicate highlights. -" -- Instead of true it can also be a list of languages -" additional_vim_regex_highlighting = false, -" }, -" } - -" EOF - -" Specific Local config -if filereadable($HOME . "/.config/nvim/templates/general.vim.local") - source ~/.config/nvim/templates/general.vim.local -endif diff --git a/dot_config/nvim/templates/general_plugs.vim b/dot_config/nvim/templates/general_plugs.vim deleted file mode 100644 index 8398ba5..0000000 --- a/dot_config/nvim/templates/general_plugs.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Color Schemes -Plug 'rafi/awesome-vim-colorschemes' -Plug 'mhartington/oceanic-next' -Plug 'morhetz/gruvbox' -Plug 'joshdick/onedark.vim' - -" Navigation -Plug 'tpope/vim-commentary' -Plug 'tpope/vim-surround' - -" Commands -Plug 'vim-test/vim-test' -Plug 'skywind3000/asyncrun.vim' -Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } -Plug 'junegunn/fzf.vim' - -" Extra Appearance Features -Plug 'airblade/vim-gitgutter' -Plug 'tpope/vim-fugitive' -Plug 'mhinz/vim-signify' -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' - -" File Navigation -Plug 'preservim/nerdtree' -" Vista Sidebar -Plug 'liuchengxu/vista.vim' -" Syntax Highlighting -Plug 'sheerun/vim-polyglot' -" Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " Experimental diff --git a/run_once_install.sh.tmpl b/run_once_install.sh.tmpl index b9a5135..a529b02 100644 --- a/run_once_install.sh.tmpl +++ b/run_once_install.sh.tmpl @@ -10,6 +10,7 @@ sudo apt install zsh tmux perl bash -y brew install neovim zsh tmux perl {{- end }} +git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim curl -L git.io/antigen > ~/.antigen.zsh curl https://raw.githubusercontent.com/candrewlee14/webman/main/scripts/install.sh | sh