diff options
| author | Robert Günzler <r@gnzler.io> | 2020-12-07 19:15:23 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2021-01-21 19:39:11 +0100 |
| commit | 04db98668639cb0b431d50e5963f6b156d728078 (patch) | |
| tree | 4bec29af1c9c34852e974be06301f74de4802199 /.vim/lua/plugins.lua | |
| parent | 9b8005439ac351ded8f6286aefa2378d25d7add5 (diff) | |
vim: big update; move lots of things to lua
Diffstat (limited to '.vim/lua/plugins.lua')
| -rw-r--r-- | .vim/lua/plugins.lua | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua new file mode 100644 index 0000000..1a66299 --- /dev/null +++ b/.vim/lua/plugins.lua @@ -0,0 +1,142 @@ +-- 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) |