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

106 lines
2.4 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 'phaazon/hop.nvim'
-- Search
use {
'junegunn/fzf',
run = './install --bin'
}
use 'junegunn/fzf.vim'
-- Manage Project sessions
use 'rmagatti/auto-session'
-- Snippets
use {
'dcampos/nvim-snippy',
requires = {
'honza/vim-snippets',
}
}
-- Git support
use 'lewis6991/gitsigns.nvim'
use 'tpope/vim-fugitive'
use 'https://github.com/SanchayanMaity/gitlinker.nvim'
-- Boost vim command line mode
use 'vim-utils/vim-husk'
-- Quickfix
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',
'kana/vim-textobj-user',
'idbrii/textobj-word-column.vim',
'glts/vim-textobj-comment'
}
use 'numToStr/Comment.nvim'
-- Tim pope essentials
use {
'tpope/vim-repeat',
'tpope/vim-sleuth',
'tpope/vim-dispatch'
}
-- Directory viewer
use 'elihunter173/dirbuf.nvim'
-- Alignment
use 'junegunn/vim-easy-align'
use 'nvim-lua/plenary.nvim'
-- LSP
use 'kosayoda/nvim-lightbulb'
-- Language support & syntax highlighting
use 'mfussenegger/nvim-lint'
use 'lvimuser/lsp-inlayhints.nvim'
use 'sdiehl/vim-cabalfmt'
-- treesitter based syntax highlighting
use {
'nvim-treesitter/nvim-treesitter',
requires = {
{
"nvim-treesitter/playground",
after = "nvim-treesitter",
cmd = { "TSPlaygroundToggle", "TSHighlightCapturesUnderCursor" },
},
{
"mfussenegger/nvim-treehopper",
after = "nvim-treesitter",
},
},
config = "require('treesitter')",
run = ':TSUpdate'
}
-- Marks and registers
use {
'chentoast/marks.nvim',
}
use 'andymass/vim-matchup'
use 'christoomey/vim-tmux-navigator'
use {
"windwp/nvim-autopairs",
config = function()
require("nvim-autopairs").setup {}
end
}
use 'gpanders/nvim-parinfer'
end
local config = {
git = {
subcommands = {
update = 'pull --ff-only --progress --rebase=false --no-tags',
fetch = 'fetch --depth 999999 --progress --no-tags',
}
}
}
return require('packer').startup(init, config)