dotfiles/nvim/.config/nvim/lua/plugins.lua
Sanchayan Maity 04b2a511e1 nvim: treesitter: Add fish and nix
Drop the syntax highlighting plugins for fish and nix and switch to
treesitter. The ftdetect is taken from the respective plugins.

We might need to add the indent specific scripts for fish and nix
later since we are not enabling indent with treesitter.
2021-05-14 19:36:43 +05:30

170 lines
3.7 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',
config = "require('modules.sneak')"
}
-- Search
use {
'junegunn/fzf',
run = './install --bin'
}
use {
'junegunn/fzf.vim',
config = "require('modules.fzf')"
}
use 'wincent/ferret'
use 'lambdalisue/reword.vim'
use 'bronson/vim-visual-star-search'
-- Remove extraneous whitespace when edit mode is exited
use {
'ntpeters/vim-better-whitespace',
config = "require('modules.better-whitespace')"
}
-- Manage Project sessions
use {
'thaerkh/vim-workspace',
config = "require('modules.workspace')"
}
-- For autocompletion
use {
'hrsh7th/nvim-compe',
config = "require('modules.completion')"
}
-- Git support
use {
'mhinz/vim-signify',
config = "require('modules.signify')"
}
use 'tpope/vim-fugitive'
use 'rhysd/git-messenger.vim'
use 'salcode/vim-interactive-rebase-reverse'
use 'whiteinge/diffconflicts'
use 'sindrets/diffview.nvim'
-- Boost vim command line mode
use 'vim-utils/vim-husk'
-- Rainbow Parentheses
use 'luochen1990/rainbow'
-- Formatting
use {
'sbdchd/neoformat',
cmd = 'Neoformat'
}
-- Run things async
use {
'hauleth/asyncdo.vim',
config = "require('modules.asyncdo')"
}
-- Quickfix
use 'yssl/QFEnter'
use 'ronakg/quickr-cscope.vim'
use {
'milkypostman/vim-togglelist',
config = "require('modules.togglelist')"
}
use {
'chengzeyi/fzf-preview.vim',
config = "require('modules.fzf-preview')"
}
-- Text Object plugins
use {
'wellle/targets.vim',
'tpope/vim-surround',
'tommcdo/vim-exchange',
'chaoren/vim-wordmotion'
}
-- Tim pope essentials
use {
'tpope/vim-commentary',
'tpope/vim-repeat',
'tpope/vim-sleuth'
}
-- Show indentation levels
use 'Yggdroot/indentLine'
-- Directory viewer
use 'justinmk/vim-dirvish'
-- Show leader key bindings
use {
'liuchengxu/vim-which-key',
config = "require('modules.which_key')"
}
-- Toggle terminal
use {
'voldikss/vim-floaterm',
config = "require('modules.floaterm')"
}
-- Take care of sudo
use 'lambdalisue/suda.vim'
-- Alignment
use {
'junegunn/vim-easy-align',
config = "require('modules.easyalign')"
}
use 'Rasukarusan/nvim-block-paste'
-- LSP
use {
'neovim/nvim-lspconfig',
'ray-x/lsp_signature.nvim'
}
-- Language support & syntax highlighting
-- Coq
use {
'whonore/Coqtail',
'jlapolla/vim-coq-plugin'
}
-- Haskell
use 'neovimhaskell/haskell-vim'
use {
'ndmitchell/ghcid',
rtp = 'plugins/nvim'
}
-- For C, Lua and Rust
use {
'nvim-treesitter/nvim-treesitter',
config = "require('treesitter')",
}
-- All writing needs
use 'lervag/vimtex'
use 'vim-pandoc/vim-pandoc'
use 'vim-pandoc/vim-pandoc-syntax'
-- Dhall & nix
use 'vmchale/dhall-vim'
-- LISP
use {
'Olical/conjure',
tag = 'v4.18.0',
ft = { 'fennel', 'racket', 'scheme' }
}
use {
'guns/vim-sexp',
'tpope/vim-sexp-mappings-for-regular-people',
ft = { 'fennel', 'racket', 'scheme' }
}
use 'wlangstroth/vim-racket'
-- Other syntax highlighting support
use 'inkarkat/SyntaxAttr.vim'
-- For statusline
use {
'glepnir/galaxyline.nvim',
config = "require('modules.statusline')",
requires = { 'kyazdani42/nvim-web-devicons' }
}
-- Marks and registers
use {
'kshenoy/vim-signature',
'gennaro-tedesco/nvim-peekup'
}
-- Snippets
use {
'rafamadriz/friendly-snippets',
'hrsh7th/vim-vsnip'
}
end
return require('packer').startup(init)