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

159 lines
4.3 KiB
Lua

local M = {}
local conf = require('user.modules.editor.config')
-- Syntax not covered by nvim-treesitter
M['nfnty/vim-nftables'] = { ft = 'nftables' }
M['MTDL9/vim-log-highlighting'] = { ft = 'log' }
M['Glench/Vim-Jinja2-Syntax'] = { ft = 'jinja' }
M['mracos/mermaid.vim'] = { ft = 'mermaid' }
M['norcalli/nvim-colorizer.lua'] = {
cmd = 'ColorizerToggle',
config = conf.colorizer,
}
M['Olical/conjure'] = { -- TODO: config, check out fennel-repl.nvim
ft = { 'clojure', 'fennel', 'scheme', 'hy', 'janet', 'racket' },
}
M['nvim-orgmode/orgmode'] = {
ft = 'org',
-- requires = {
-- {
-- 'akinsho/org-bullets.nvim',
-- after = 'orgmode.nvim',
-- config = conf.org_bullets,
-- },
-- },
config = conf.orgmode,
}
M['folke/todo-comments.nvim'] = {
wants = 'plenary.nvim',
event = 'BufRead',
config = conf.todo_comments,
}
M['nvim-treesitter/nvim-treesitter'] = {
run = ':TSUpdate',
event = 'BufRead',
wants = {
'nvim-ts-rainbow',
'nvim-treesitter-refactor',
},
requires = {
{ 'p00f/nvim-ts-rainbow', opt = true },
{ 'nvim-treesitter/nvim-treesitter-refactor', opt = true },
},
config = conf.treesitter,
}
M['JoosepAlviste/nvim-ts-context-commentstring'] = { after = 'nvim-treesitter' }
M['nvim-treesitter/nvim-treesitter-textobjects'] = { after = 'nvim-treesitter' }
M['romgrk/nvim-treesitter-context'] = { after = 'nvim-treesitter' }
M['windwp/nvim-ts-autotag'] = {
ft = {
'html',
'javascript',
'javascriptreact',
'typescript',
'typescriptreact',
'svelte',
'vue',
},
}
M['nvim-treesitter/playground'] = {
cmd = { 'TSHighlightCapturesUnderCursor', 'TSPlaygroundToggle' },
wants = 'nvim-treesitter',
}
M['andymass/vim-matchup'] = {
after = 'nvim-treesitter',
config = conf.matchup,
}
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['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['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'] = {
cmd = 'Neogen',
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['karb94/neoscroll.nvim'] = {
event = 'WinScrolled',
config = conf.neoscroll,
}
M['lewis6991/gitsigns.nvim'] = {
event = { 'BufRead', 'BufNewFile' },
wants = 'plenary.nvim',
config = conf.gitsigns,
}
return M