dotfiles-ansible/roles/nvim/files/nvim/lua/modules/editor/plugins.lua

140 lines
4.1 KiB
Lua

local M = {}
local conf = require('modules.editor.config')
M['norcalli/nvim-colorizer.lua'] = {
cmd = 'ColorizerToggle',
config = conf.colorizer
}
-- M['RRethy/vim-illuminate'] = { -- TODO: check out treesitter support, otherwise use nvim-treesitter-refactor
-- event = 'CursorHold',
-- setup = conf.illuminate
-- }
M['Olical/conjure'] = { -- TODO: config, check out fennel-repl.nvim
ft = {'clojure', 'fennel', 'scheme', 'hy', 'janet', 'racket'}
}
M['kristijanhusak/orgmode.nvim'] = { -- TODO: highlights, check out neorg
ft = 'org',
requires = {{
'akinsho/org-bullets.nvim',
after = 'orgmode.nvim',
config = conf.org_bullets
}},
config = conf.orgmode
}
M['lukas-reineke/headlines.nvim'] = {
ft = {'org', 'markdown'},
config = conf.headlines
}
M['nvim-treesitter/nvim-treesitter'] = {
run = ':TSUpdate',
event = 'BufRead',
config = conf.treesitter
}
M['nvim-treesitter/playground'] = {after = 'nvim-treesitter'}
M['nvim-treesitter/nvim-treesitter-refactor'] = {after = 'nvim-treesitter'}
M['nvim-treesitter/nvim-treesitter-textobjects'] = {after = 'nvim-treesitter'}
M['p00f/nvim-ts-rainbow'] = {after = 'nvim-treesitter'}
M['windwp/nvim-ts-autotag'] = {after = 'nvim-treesitter'}
M['romgrk/nvim-treesitter-context'] = {after = 'nvim-treesitter'}
M['JoosepAlviste/nvim-ts-context-commentstring'] = {after = 'nvim-treesitter'}
-- M['spywhere/detect-language.nvim'] = {
-- event = 'BufNewFile',
-- config = conf.detect_language
-- }
-- M['lewis6991/spellsitter.nvim'] = {
-- event = {'BufRead', 'BufNewFile'},
-- config = conf.spellsitter
-- }
M['lukas-reineke/indent-blankline.nvim'] = {
after = 'nvim-treesitter',
config = conf.indent_blankline
}
M['mizlan/iswap.nvim'] = {
cmd = {'ISwapWith', 'ISwap'},
wants = 'nvim-treesitter',
config = conf.iswap
}
M['andymass/vim-matchup'] = {
after = 'nvim-treesitter',
config = conf.matchup
}
M['machakann/vim-sandwich'] = {keys = 's'} -- TODO: check out surround.nvim
M['folke/zen-mode.nvim'] = {
cmd = 'ZenMode',
wants = 'twilight.nvim',
requires = {{
'folke/twilight.nvim',
cmd = {'Twilight', 'TwilightEnable'},
config = conf.twilight,
opt = true
}},
config = conf.zenmode
}
M['max397574/better-escape.nvim'] = {
event = 'InsertCharPre',
config = conf.better_escape
}
M['phaazon/hop.nvim'] = { -- TODO: check out lightspeed.nvim
cmd = {'HopChar1', 'HopChar2', 'HopWord', 'HopPattern', 'HopLine'},
config = conf.hop
}
M['hrsh7th/vim-eft'] = {
keys = {
{'n', 'f'}, {'x', 'f'}, {'n', 'F'}, {'x', 'F'},
{'n', 't'}, {'x', 't'}, {'n', 'T'}, {'x', 'T'},
{'n', ';'}, {'x', ';'}
},
config = conf.eft
}
M['monaqa/dial.nvim'] = {
keys = {
{'n', '<C-a>'}, {'v', '<C-a>'}, {'v', 'g<C-a>'},
{'n', '<C-x>'}, {'v', '<C-x>'}, {'v', 'g<C-x>'}
},
config = conf.dial
}
M['junegunn/vim-easy-align'] = {cmd = {'EasyAlign', 'LiveEasyAlign'}}
M['dhruvasagar/vim-table-mode'] = {
cmd = {'Tableize', 'TableModeToggle', 'TableModeRealign'},
setup = conf.table_mode
}
M['numToStr/Comment.nvim'] = {
keys = {'gc', 'gb'},
wants = 'nvim-ts-context-commentstring',
config = conf.comment
}
M['winston0410/range-highlight.nvim'] = {
event = 'CmdlineEnter',
wants = 'cmd-parser.nvim',
requires = {{'winston0410/cmd-parser.nvim', opt = true}},
config = conf.range_highlight
}
M['danymat/neogen'] = {
keys = '<leader>eg',
wants = 'nvim-treesitter',
config = conf.neogen
}
M['gpanders/editorconfig.nvim'] = {
event = {'BufRead', 'BufNewFile'}
}
M['eraserhd/parinfer-rust'] = { -- TODO: move to nvim-parinfer (lua)
run = 'cargo build --release',
ft = {'clojure', 'lisp', 'scheme', 'fennel', 'racket', 'hy', 'janet', 'carp', 'wast'}
}
M['ahmedkhalf/project.nvim'] = {
event = 'BufEnter',
config = conf.project
}
M['ruifm/gitlinker.nvim'] = {
wants = 'plenary.nvim',
keys = {'<leader>gy', '<leader>gY'},
config = conf.gitlinker
}
M['jbyuki/venn.nvim'] = {cmd = 'VBox'}
M['nathom/filetype.nvim'] = {
event = {'BufRead', 'BufNewFile'},
config = conf.filetype
}
return M