Sanchayan Maity
3efb1c1c94
It's really not required and we do not intend to write out nvim configuration in fennel either. Conjure support for lisp is enough.
162 lines
3.6 KiB
Lua
162 lines
3.6 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'
|
|
-- 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 'rhysd/conflict-marker.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',
|
|
'coderifous/textobj-word-column.vim',
|
|
'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')"
|
|
}
|
|
-- Clipboard
|
|
use 'christoomey/vim-system-copy'
|
|
-- 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',
|
|
}
|
|
-- Language support & syntax highlighting
|
|
-- 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'
|
|
use 'LnL7/vim-nix'
|
|
-- LISP
|
|
use {
|
|
'Olical/conjure',
|
|
tag = 'v4.18.0',
|
|
ft = { 'fennel', 'racket', 'scheme', 'scheme.guile' }
|
|
}
|
|
use {
|
|
'guns/vim-sexp',
|
|
'tpope/vim-sexp-mappings-for-regular-people',
|
|
ft = { 'fennel', 'racket', 'scheme', 'scheme.guile' }
|
|
}
|
|
use 'wlangstroth/vim-racket'
|
|
use {
|
|
'https://gitlab.com/HiPhish/guile.vim'
|
|
}
|
|
-- Other syntax highlighting support
|
|
use 'georgewitteman/vim-fish'
|
|
use 'inkarkat/SyntaxAttr.vim'
|
|
-- For statusline
|
|
use {
|
|
'glepnir/galaxyline.nvim',
|
|
config = "require('modules.statusline')",
|
|
requires = { 'kyazdani42/nvim-web-devicons' }
|
|
}
|
|
end
|
|
|
|
return require('packer').startup(init)
|