local vim = vim local Plug = vim.fn['plug#'] vim.call('plug#begin') -- I try to keep these to a minimum and to understand what each plugin does and -- adds to my existing(set up. I try to capture the value, at least to me, each -- plugin adds. I've tried to logically group them, as well, to spot overlap -- and redundancy. -- dynamic font resizing(using ctl and arrow keys Plug('tenxsoydev/size-matters.nvim') -- custom colorscheme Plug('fneu/breezy') -- informational -- lightweight but sophisticated status line Plug('vim-airline/vim-airline') Plug('vim-airline/vim-airline-themes') -- visualize vim's undo tree Plug('mbbill/undotree') -- diagnostics display Plug('folke/trouble.nvim') -- icons for Trouble Plug('kyazdani42/nvim-web-devicons') -- files, folders, projects, etc. -- file and dir browser Plug('preservim/nerdtree') -- integrate ripgrep, especially to be able to open matches, hugely useful for -- code aware search Plug('jremmen/vim-ripgrep') -- Support for the cd replacement, zoxide Plug('nanotee/zoxide.vim') -- taskwarrior Plug('xarthurx/taskwarrior.vim') -- Wiki support - my life is in vimwiki Plug('vimwiki/vimwiki', { ['branch'] = 'dev' }) -- git integration Plug('tpope/vim-fugitive') Plug('tpope/vim-rhubarb') Plug('mhinz/vim-signify') -- git support for nerdtree Plug('Xuyuanp/nerdtree-git-plugin') -- better support for JS Plug('pangloss/vim-javascript') -- find, complete, etc. on steroids -- fast fuzzy finder Plug('junegunn/fzf', { ['dir'] = '~/.fzf', ['do'] = function() vim.fn['fzf#install']() end }) Plug('junegunn/fzf.vim') -- auto detect tab and space handling(rather than setting per project Plug('tpope/vim-sleuth') -- tools - all languages -- look for .editorconfig(and merge into vim settings Plug('editorconfig/editorconfig-vim') -- auto format all the things Plug('sbdchd/neoformat') -- load config(from $CWD/.config/init.vim Plug('windwp/nvim-projectconfig') -- Collection of common configurations for the Nvim LSP client Plug('neovim/nvim-lspconfig') -- Add commands to add and manage lsp plugins Plug('williamboman/nvim-lsp-installer') -- Completion framework -- I found these when updating(my lsp configuration and after using the -- additional sources for a while, find them super useful for general editing -- too -- See hrsh7th's other plugins for more completion sources! Plug('hrsh7th/nvim-cmp') -- LSP completion source for nvim-cmp Plug('hrsh7th/cmp-nvim-lsp') -- Snippet completion source for nvim-cmp Plug('hrsh7th/cmp-vsnip') -- Other useful completion sources Plug('hrsh7th/cmp-path') Plug('hrsh7th/cmp-buffer') -- Snippet engine Plug('hrsh7th/vim-vsnip') -- allows other programs and scripts to hook into NeoVim's language server -- protocol support; adopted as a pre-requisite for prettier integration Plug('jose-elias-alvarez/null-ls.nvim') -- specific languages, programming(and otherwise -- support for the Rust programming(language Plug('rust-lang/rust.vim') -- handles Rust configuration for LSP Plug('mrcjkb/rustaceanvim') -- support for jsonnet Plug('google/vim-jsonnet') -- nvm to make JS/TS/Node easier to work with Plug('marene/nvm.vim') vim.call('plug#end')