1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages/misc.lua
2024-10-14 20:17:18 +02:00

297 lines
11 KiB
Lua

return {
{
'norcalli/nvim-colorizer.lua',
config = true,
keys = { { '<leader>oc', '<Cmd>ColorizerToggle<Cr>', desc = 'Toggle colorizer' } },
cmd = 'ColorizerToggle',
},
{
'ThePrimeagen/harpoon',
keys = {
{ '<leader>fm', function() require('harpoon.mark').add_file() end, desc = 'Harpoon mark file' },
{ '<leader>fh', function() require('harpoon.ui').toggle_quick_menu() end, desc = 'Harpoon menu' },
{ '<C-1>', function() require('harpoon.ui').nav_file(1) end, desc = 'Harpoon file 1' },
{ '<C-2>', function() require('harpoon.ui').nav_file(2) end, desc = 'Harpoon file 2' },
{ '<C-3>', function() require('harpoon.ui').nav_file(3) end, desc = 'Harpoon file 3' },
{ '<C-4>', function() require('harpoon.ui').nav_file(4) end, desc = 'Harpoon file 4' },
{ '<C-5>', function() require('harpoon.ui').nav_file(5) end, desc = 'Harpoon file 5' },
},
},
{
's1n7ax/nvim-window-picker',
config = true,
opts = {
use_winbar = 'always',
fg_color = require('configs.colors').pallete.light0[1],
current_win_hl_color = require('configs.colors').pallete.red[1],
other_win_hl_color = require('configs.colors').pallete.green[1],
},
keys = {
{
'<leader>w',
function()
local picked_window_id = require('window-picker').pick_window() or vim.api.nvim_get_current_win()
vim.api.nvim_set_current_win(picked_window_id)
end,
desc = 'Pick a window',
},
},
},
{ 'AndrewRadev/linediff.vim', cmd = 'Linediff' },
{
'lukas-reineke/indent-blankline.nvim',
event = 'VeryLazy',
config = true,
main = 'ibl',
opts = {
-- show_current_context = true,
-- show_current_context_start = false,
-- filetype_exclude = {
-- 'OverseerList',
-- 'OverseerForm',
-- 'lspinfo',
-- 'packer',
-- 'checkhealth',
-- 'help',
-- 'man',
-- 'norg',
-- '',
-- },
},
},
{
'chrisgrieser/nvim-various-textobjs',
keys = {
{
'ii',
function() require('various-textobjs').indentation('inner', 'inner', 'withBlanks') end,
mode = { 'o', 'x' },
desc =
'Inside indent',
},
{
'ai',
function() require('various-textobjs').indentation('outer', 'outer', 'withBlanks') end,
mode = { 'o', 'x' },
desc =
'Around indent',
},
-- { 'iI', function() require('various-textobjs').indentation(true, true) end, mode = { 'o', 'x' }, desc = '' },
-- { 'aI', function() require('various-textobjs').indentation(false, false) end, mode = { 'o', 'x' }, desc = '' },
{ 'iS', function() require('various-textobjs').subword('inner') end, mode = { 'o', 'x' }, desc = '' },
{ 'aS', function() require('various-textobjs').subword('outer') end, mode = { 'o', 'x' }, desc = '' },
{ '|', function() require('various-textobjs').column() end, mode = { 'o', 'x' }, desc = '' },
{ 'L', function() require('various-textobjs').url() end, mode = { 'o', 'x' }, desc = '' },
-- {"YOUR_MAPPING",function() require("various-textobjs").toNextClosingBracket() end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").restOfParagraph() end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").entireBuffer() end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").nearEoL() end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").lineCharacterwise() end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").value(true) end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").value(false) end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").key(true) end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").key(false) end, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").diagnostic() end, mode = { "o", "x" }, desc = "" },
--------------------------------------------------------------------------------------
-- put these into the ftplugins or autocms for the filetypes you want to use them with
-- {"YOUR_MAPPING",function() require("various-textobjs").mdlink(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").mdlink(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
--
-- {"YOUR_MAPPING",function() require("various-textobjs").mdFencedCodeBlock(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").mdFencedCodeBlock(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
--
-- {"YOUR_MAPPING",function() require("various-textobjs").cssSelector(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").cssSelector(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
--
-- {"YOUR_MAPPING",function() require("various-textobjs").htmlAttribute(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").htmlAttribute(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
--
-- {"YOUR_MAPPING",function() require("various-textobjs").doubleSquareBrackets(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").doubleSquareBrackets(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
--
-- {"YOUR_MAPPING",function() require("various-textobjs").shellPipe(true) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
-- {"YOUR_MAPPING",function() require("various-textobjs").shellPipe(false) end, { buffer = true }, mode = { "o", "x" }, desc = "" },
},
},
{
'chrisgrieser/nvim-spider',
keys = {
{ '<M-w>', function() require('spider').motion('w') end, mode = { 'n', 'o', 'x' }, desc = 'Spider-w' },
{ '<M-e>', function() require('spider').motion('e') end, mode = { 'n', 'o', 'x' }, desc = 'Spider-e' },
{ '<M-b>', function() require('spider').motion('b') end, mode = { 'n', 'o', 'x' }, desc = 'Spider-b' },
},
},
{
'echasnovski/mini.trailspace',
version = '*',
keys = {
{ '<leader>eT', function() MiniTrailspace.trim() end, desc = 'Trim whiltespace' },
},
config = true,
},
-- stolen from LazyVim
{
'stevearc/dressing.nvim',
lazy = true,
init = function()
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.select = function(...)
require('lazy').load({ plugins = { 'dressing.nvim' } })
return vim.ui.select(...)
end
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.input = function(...)
require('lazy').load({ plugins = { 'dressing.nvim' } })
return vim.ui.input(...)
end
end,
},
{
'stevearc/overseer.nvim',
config = true,
cmd = {
'OverseerBuild',
'OverseerClearCache',
'OverseerClose',
'OverseerDeleteBundle',
'OverseerInfo',
'OverseerLoadBundle',
'OverseerOpen',
'OverseerQuickAction',
'OverseerRun',
'OverseerRunCmd',
'OverseerSaveBundle',
'OverseerTaskAction',
'OverseerToggle',
},
keys = {
{ '<leader>xx', '<Cmd>OverseerToggle<CR>', desc = 'Overseer toggle' },
{ '<leader>xi', '<Cmd>OverseerInfo<CR>', desc = 'Overseer info' },
{ '<leader>xa', '<Cmd>OverseerTaskAction<CR>', desc = 'Overseer action' },
{ '<leader>xr', '<Cmd>OverseerRun<CR>', desc = 'Overseer run' },
},
},
{
'numToStr/Comment.nvim',
config = true,
},
{ 'dyng/ctrlsf.vim', cmd = 'CtrlSF' },
{
'https://git.sr.ht/~whynothugo/lsp_lines.nvim',
config = function()
local lines = require('lsp_lines')
lines.setup()
vim.diagnostic.config({
virtual_lines = function(_, bufnr)
local ft = vim.api.nvim_get_option_value('filetype', { buf = bufnr })
if ft == 'lazy' then
return false
else
return { only_current_line = true }
end
end,
})
end,
},
{
'andymass/vim-matchup',
event = 'BufRead',
config = function()
vim.g.matchup_matchparen_offscreen = {}
end,
},
{
'echasnovski/mini.surround',
version = '*',
event = 'BufEnter',
config = true,
main = 'mini.surround',
},
{
'nvim-neorg/neorg',
enabled = false,
ft = 'norg',
dependencies = { 'nvim-lua/plenary.nvim' },
cmd = { 'Neorg' },
opts = {
load = {
['core.defaults'] = {},
['core.concealer'] = {},
['core.completion'] = { config = { engine = 'nvim-cmp' } },
},
},
},
{ 'fpob/nette.vim', ft = 'nette' },
{ 'ziglang/zig.vim', ft = 'zig' },
{ 'chrisbra/csv.vim', ft = 'csv' },
{ 'NoahTheDuke/vim-just' },
{ 'towolf/vim-helm' },
{ 'grafana/vim-alloy' },
{ 'williamboman/mason.nvim', cmd = 'Mason', config = true },
{
'yorickpeterse/nvim-pqf',
opts = {
signs = {
error = { text = 'E', hl = 'DiagnosticSignError' },
warning = { text = 'W', hl = 'DiagnosticSignWarn' },
info = { text = 'I', hl = 'DiagnosticSignInfo' },
hint = { text = 'H', hl = 'DiagnosticSignHint' },
},
-- By default, only the first line of a multi line message will be shown.
-- When this is true, multiple lines will be shown for an entry, separated by
-- a space
show_multiple_lines = false,
-- How long filenames in the quickfix are allowed to be. 0 means no limit.
-- Filenames above this limit will be truncated from the beginning with
-- `filename_truncate_prefix`.
max_filename_length = 40,
-- Prefix to use for truncated filenames.
filename_truncate_prefix = '[...]',
},
},
{
'mfussenegger/nvim-jdtls',
ft = 'java',
},
{
'kristijanhusak/vim-dadbod-ui',
dependencies = {
{ 'tpope/vim-dadbod', lazy = true },
{ 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql', 'plsql' }, lazy = true },
},
cmd = {
'DBUI',
'DBUIToggle',
'DBUIAddConnection',
'DBUIFindBuffer',
},
init = function()
-- Your DBUI configuration
vim.g.db_ui_use_nerd_fonts = 1
end,
}
}