-- load by calling `lua require('plugins')` from your init.vim function disable_distribution_plugins() vim.g.loaded_gzip = 1 vim.g.loaded_tar = 1 vim.g.loaded_tarPlugin = 1 vim.g.loaded_zip = 1 vim.g.loaded_zipPlugin = 1 vim.g.loaded_getscript = 1 vim.g.loaded_getscriptPlugin = 1 vim.g.loaded_vimball = 1 vim.g.loaded_vimballPlugin = 1 vim.g.loaded_matchit = 1 -- vim.g.loaded_matchparen = 1 vim.g.loaded_2html_plugin = 1 vim.g.loaded_logiPat = 1 vim.g.loaded_rrhelper = 1 vim.g.loaded_netrw = 1 vim.g.loaded_netrwPlugin = 1 vim.g.loaded_netrwSettings = 1 vim.g.loaded_netrwFileHandlers = 1 end -- enable to bootstrap packer from ~/.local/share/nvim/site/pack/packer/opt/packer.nvim -- vim.cmd [[packadd packer.nvim]] return require'packer'.startup(function() -- disable built-in plugins disable_distribution_plugins() -- manage packer itself use {'wbthomason/packer.nvim'} use {'mhinz/vim-signify'} -- git status in the sign column use {'tpope/vim-commentary'} -- auto-comment using `gcc` use {'cohama/lexima.vim'} -- auto-close parens, brackets, etc. use {'tpope/vim-surround'} -- edit surroundings in pairs -- use {'itchyny/lightline.vim'} -- lightweight status bar use {'glepnir/galaxyline.nvim', branch = 'main', config=function() require 'line' end} use {'neomake/neomake'} -- async job runner use {'sbdchd/neoformat'} -- async code formatter use {'justinmk/vim-dirvish'} -- folder browser use {'justinmk/vim-sneak'} -- powerful missing vim motions use { 'neovim/nvim-lspconfig', requires = {'nvim-lua/completion-nvim'}, -- , 'nvim-lua/diagnostic-nvim'}, config=function() require'conf.lsp' end} use { 'steelsojka/completion-buffers' } -- config = function() -- vim.api.nvim_command("autocmd BufEnter * require'completion'.on_attach()") -- end} use { 'nvim-treesitter/nvim-treesitter', requires = { 'nvim-lua/completion-nvim', 'nvim-treesitter/completion-treesitter', 'nvim-treesitter/nvim-treesitter-refactor', }, config=function() require'conf.treesitter' end} use { 'nvim-lua/telescope.nvim', requires = {'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim'}, config=function() require'conf.telescope' end} -- snippets use {'SirVer/ultisnips', requires = {'honza/vim-snippets'}} -- interactive finder / dispatcher -- use {'liuchengxu/vim-clap', -- run = ':Clap install-binary!'} use {'junegunn/vim-easy-align', cmd = {'EasyAlign'}} -- use {'tpope/vim-sleuth'} -- detect indentation use {'nathanaelkane/vim-indent-guides'} -- show indentation levels use {'tpope/vim-repeat'} -- extend '.' to plugins use {'liuchengxu/vista.vim'} -- sidebar populated by lsp, ctags, etc. use {'sgur/vim-editorconfig'} -- implements editorconfig in vimscript -- use 'rhysd/conflict-marker.vim' use {'michaeljsmith/vim-indent-object'} -- adds indentation text-objects use {'kshenoy/vim-signature'} -- toggle, display and navigate marks -- highlight color codes use {'norcalli/nvim-colorizer.lua', config=function() require'colorizer'.setup(nil, { name = true; RRGGBB = true; RRGGBBAA = false; rgb_fn = true; hsl_fn = true; mode = 'background'; }) end} use {'rhysd/git-messenger.vim'} -- git-blame in a popup use {'kassio/neoterm'} -- languages -- NOTE: these should only be loaded when they are required... -- use {'rhysd/vim-grammarous', ft = {'markdown', 'latex', 'tex'}} use {'lervag/vimtex', ft = {'latex', 'tex'}} use {'plasticboy/vim-markdown', ft = {'markdown'}} use {'masukomi/vim-markdown-folding', ft = {'markdown'}} -- easy html editing use {'mattn/emmet-vim', ft = {'html'}} -- use {'valloric/matchtagalways', ft = {'html', 'vue', 'xml'}} -- visually match HTML tags enclosing cursor location -- use {'ledger/vim-ledger', ft = {'ledger'}, -- requires = { -- 'tpope/vim-speeddating', -- easy time/date incrementing -- 'vim-scripts/utl.vim'}} -- follow links/urls use {'gentoo/gentoo-syntax'} use {'jjo/vim-cue'} -- multi-language support with lazy loading -- NOTE: put language specific plugs before this to avoid conflicsts use {'sheerun/vim-polyglot'} -- minimal ux use {'junegunn/goyo.vim', cmd = 'Goyo'} -- hide ui clutter use {'junegunn/limelight.vim', cmd = 'Limelight'} -- dims colors -- use 'equalsraf/neovim-gui-shim' -- colorschemes use {'NLKNguyen/papercolor-theme'} -- use {'cideM/yui'} use {'ayu-theme/ayu-vim'} -- use {'rktjmp/lush.nvim', -- config=function() require'conf.colors' end} use {'dstein64/vim-startuptime'} -- local -- use {'~/devel/projects/nihon-theme/vim'} -- use {'~/devel/projects/vim-orgdown'} use {'~/.vim/devel/obsidian.nvim'} use {'~/.vim/devel/vim-github-link'} end)