dotfiles/nvim/.config/nvim/lua/plugins.lua

135 lines
3.1 KiB
Lua

-- Add the in built Cfilter plugin. Replaces QFGrep.
vim.cmd 'packadd cfilter'
vim.cmd 'packadd packer.nvim'
local init = function ()
use {'wbthomason/packer.nvim', opt = true}
-- Vertical Motion
use 'justinmk/vim-sneak'
-- Search
use {
'junegunn/fzf',
run = './install --bin'
}
use 'junegunn/fzf.vim'
use 'wincent/ferret'
use 'bronson/vim-visual-star-search'
-- Manage Project sessions
use 'thaerkh/vim-workspace'
-- For autocompletion
use {
'hrsh7th/nvim-cmp',
requires = {
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-nvim-lua',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'onsails/lspkind-nvim',
'L3MON4D3/LuaSnip',
'saadparwaiz1/cmp_luasnip',
'rafamadriz/friendly-snippets'
}
}
-- Git support
use 'lewis6991/gitsigns.nvim'
use 'tpope/vim-fugitive'
use 'rhysd/git-messenger.vim'
use 'whiteinge/diffconflicts'
use 'sindrets/diffview.nvim'
-- Boost vim command line mode
use 'vim-utils/vim-husk'
-- Quickfix
use 'yssl/QFEnter'
use 'chengzeyi/fzf-preview.vim'
use {
'https://gitlab.com/yorickpeterse/nvim-pqf',
config = function()
require('pqf').setup()
end
}
-- Text Object plugins
use {
'wellle/targets.vim',
'tpope/vim-surround',
'tommcdo/vim-exchange',
'chaoren/vim-wordmotion',
'kana/vim-textobj-user',
'kana/vim-textobj-entire',
'idbrii/textobj-word-column.vim',
}
use 'numToStr/Comment.nvim'
-- Tim pope essentials
use {
'tpope/vim-repeat',
'tpope/vim-sleuth',
'tpope/vim-dispatch'
}
-- Directory viewer
use 'justinmk/vim-dirvish'
-- Show leader key bindings
use 'folke/which-key.nvim'
--Toggle terminal
use 'akinsho/toggleterm.nvim'
-- Take care of sudo
use 'lambdalisue/suda.vim'
-- Alignment
use 'junegunn/vim-easy-align'
use 'nvim-lua/plenary.nvim'
use {
'jose-elias-alvarez/nvim-lsp-ts-utils',
requires = { 'jose-elias-alvarez/null-ls.nvim' }
}
-- LSP
use {
'neovim/nvim-lspconfig',
'kosayoda/nvim-lightbulb',
}
-- Language support & syntax highlighting
use 'simrat39/rust-tools.nvim'
-- Coq
use {
'whonore/Coqtail',
'jlapolla/vim-coq-plugin'
}
-- treesitter based syntax highlighting
use {
'nvim-treesitter/nvim-treesitter',
requires = {
{
"nvim-treesitter/playground",
after = "nvim-treesitter",
cmd = { "TSPlaygroundToggle", "TSHighlightCapturesUnderCursor" },
},
{
"nvim-treesitter/nvim-treesitter-textobjects",
module = "nvim-treesitter-textobjects",
after = "nvim-treesitter",
},
},
config = "require('treesitter')",
run = ':TSUpdate'
}
-- All writing needs
use 'lervag/vimtex'
use 'vim-pandoc/vim-pandoc'
use 'vim-pandoc/vim-pandoc-syntax'
-- Dhall
use 'vmchale/dhall-vim'
-- For statusline
use {
'NTBBloodbath/galaxyline.nvim',
requires = { 'kyazdani42/nvim-web-devicons' }
}
-- Marks and registers
use {
'chentau/marks.nvim',
}
-- For files with ANSI escape sequences
use {
'powerman/vim-plugin-AnsiEsc',
cmd = 'AnsiEsc'
}
end
return require('packer').startup(init)