mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
lint everything
This commit is contained in:
parent
3dcc3a10e8
commit
23bd257c9e
9 changed files with 351 additions and 309 deletions
|
|
@ -21,8 +21,8 @@ if not LAZY_OPTS then
|
||||||
rtp = {
|
rtp = {
|
||||||
reset = false,
|
reset = false,
|
||||||
disabled_plugins = {
|
disabled_plugins = {
|
||||||
"netrwPlugin",
|
'netrwPlugin',
|
||||||
"tutor",
|
'tutor',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ vim.opt.winborder = 'single'
|
||||||
|
|
||||||
-- Switch tab length on the fly
|
-- Switch tab length on the fly
|
||||||
vim.keymap.set('n', '\\t', function()
|
vim.keymap.set('n', '\\t', function()
|
||||||
vim.o.tabstop = vim.o.tabstop == 2 and 4 or 2
|
vim.o.tabstop = vim.o.tabstop == 8 and 2 or 2 * vim.o.tabstop
|
||||||
end, { silent = true, desc = 'toggle tabstop' })
|
end, { silent = true, desc = 'toggle tabstop' })
|
||||||
|
|
||||||
-- autocmd
|
-- autocmd
|
||||||
|
|
@ -45,9 +45,7 @@ vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||||
|
|
||||||
-- Configure Neovim diagnostic messages
|
-- Configure Neovim diagnostic messages
|
||||||
vim.diagnostic.config {
|
vim.diagnostic.config {
|
||||||
virtual_text = {
|
virtual_text = true,
|
||||||
current_line = true,
|
|
||||||
},
|
|
||||||
underline = true,
|
underline = true,
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
float = {
|
float = {
|
||||||
|
|
@ -58,28 +56,28 @@ vim.diagnostic.config {
|
||||||
}
|
}
|
||||||
|
|
||||||
-- random keymaps
|
-- random keymaps
|
||||||
vim.keymap.set({ 'v', 'i', }, 'wq', '<esc>l', { noremap = true, silent = true })
|
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', '<S-l>', vim.cmd.bnext, { noremap = true, silent = true })
|
vim.keymap.set('n', '<S-l>', vim.cmd.bnext, { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', '<S-h>', vim.cmd.bprev, { noremap = true, silent = true })
|
vim.keymap.set('n', '<S-h>', vim.cmd.bprev, { noremap = true, silent = true })
|
||||||
vim.keymap.set('v', "<", "<gv")
|
vim.keymap.set('v', '<', '<gv')
|
||||||
vim.keymap.set('v', ">", ">gv")
|
vim.keymap.set('v', '>', '>gv')
|
||||||
|
|
||||||
-- resize splits if window got resized
|
-- resize splits if window got resized
|
||||||
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
vim.api.nvim_create_autocmd({ 'VimResized' }, {
|
||||||
group = vim.api.nvim_create_augroup("resize_splits", { clear = true }),
|
group = vim.api.nvim_create_augroup('resize_splits', { clear = true }),
|
||||||
callback = function()
|
callback = function()
|
||||||
local current_tab = vim.fn.tabpagenr()
|
local current_tab = vim.fn.tabpagenr()
|
||||||
vim.cmd("tabdo wincmd =")
|
vim.cmd('tabdo wincmd =')
|
||||||
vim.cmd("tabnext " .. current_tab)
|
vim.cmd('tabnext ' .. current_tab)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Check if we need to reload the file when it changed
|
-- Check if we need to reload the file when it changed
|
||||||
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
vim.api.nvim_create_autocmd({ 'FocusGained', 'TermClose', 'TermLeave' }, {
|
||||||
group = vim.api.nvim_create_augroup("check_reload", { clear = true }),
|
group = vim.api.nvim_create_augroup('check_reload', { clear = true }),
|
||||||
callback = function()
|
callback = function()
|
||||||
if vim.o.buftype ~= "nofile" then
|
if vim.o.buftype ~= 'nofile' then
|
||||||
vim.cmd("checktime")
|
vim.cmd('checktime')
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"zbirenbaum/copilot.lua",
|
'zbirenbaum/copilot.lua',
|
||||||
cmd = "Copilot",
|
cmd = 'Copilot',
|
||||||
opts = {
|
opts = {
|
||||||
panel = {
|
panel = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
auto_refresh = false,
|
auto_refresh = false,
|
||||||
keymap = {
|
keymap = {
|
||||||
jump_prev = "<C-p>",
|
jump_prev = '<C-p>',
|
||||||
jump_next = "<C-n>",
|
jump_next = '<C-n>',
|
||||||
accept = "<C-y>",
|
accept = '<C-y>',
|
||||||
toggle = "<M-CR>"
|
toggle = '<M-CR>',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
suggestion = {
|
suggestion = {
|
||||||
enabled = false,
|
enabled = false,
|
||||||
|
|
@ -24,12 +24,12 @@ return {
|
||||||
selection = {
|
selection = {
|
||||||
preselect = false,
|
preselect = false,
|
||||||
auto_insert = true,
|
auto_insert = true,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
accept = {
|
accept = {
|
||||||
auto_brackets = {
|
auto_brackets = {
|
||||||
enabled = true
|
enabled = true,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
filetypes = {
|
filetypes = {
|
||||||
|
|
@ -44,22 +44,22 @@ return {
|
||||||
puppet = true,
|
puppet = true,
|
||||||
yaml = true,
|
yaml = true,
|
||||||
markdown = true,
|
markdown = true,
|
||||||
["*"] = false,
|
['*'] = false,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"olimorris/codecompanion.nvim",
|
'olimorris/codecompanion.nvim',
|
||||||
cmd = "Copilot",
|
cmd = 'Copilot',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
'nvim-lua/plenary.nvim',
|
||||||
"nvim-treesitter/nvim-treesitter",
|
'nvim-treesitter/nvim-treesitter',
|
||||||
"zbirenbaum/copilot.lua",
|
'zbirenbaum/copilot.lua',
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
strategies = {
|
strategies = {
|
||||||
chat = { adapter = "copilot", },
|
chat = { adapter = 'copilot' },
|
||||||
inline = { adapter = "copilot", },
|
inline = { adapter = 'copilot' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
|
|
@ -67,23 +67,22 @@ return {
|
||||||
'<leader>ac',
|
'<leader>ac',
|
||||||
'<cmd>CodeCompanionChat Toggle<CR>',
|
'<cmd>CodeCompanionChat Toggle<CR>',
|
||||||
noremap = true,
|
noremap = true,
|
||||||
desc = 'Copilot chat toggle'
|
desc = 'Copilot chat toggle',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>as',
|
'<leader>as',
|
||||||
'<cmd>CodeCompanionChat Add<CR>',
|
'<cmd>CodeCompanionChat Add<CR>',
|
||||||
noremap = true,
|
noremap = true,
|
||||||
mode = { "n", "v" },
|
mode = { 'n', 'v' },
|
||||||
desc = 'Copilot chat add selection'
|
desc = 'Copilot chat add selection',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>aa',
|
'<leader>aa',
|
||||||
'<cmd>CodeCompanionActions<CR>',
|
'<cmd>CodeCompanionActions<CR>',
|
||||||
noremap = true,
|
noremap = true,
|
||||||
mode = { "n", "v" },
|
mode = { 'n', 'v' },
|
||||||
desc = 'Copilot inline'
|
desc = 'Copilot inline',
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ return {
|
||||||
auto_refresh = {
|
auto_refresh = {
|
||||||
backward = false,
|
backward = false,
|
||||||
forward = true,
|
forward = true,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ return {
|
||||||
win = {
|
win = {
|
||||||
size = 0.25,
|
size = 0.25,
|
||||||
position = 'right',
|
position = 'right',
|
||||||
type = 'split'
|
type = 'split',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
|
|
@ -17,15 +17,15 @@ return {
|
||||||
'gre',
|
'gre',
|
||||||
'<cmd>Trouble diagnostics toggle<CR>',
|
'<cmd>Trouble diagnostics toggle<CR>',
|
||||||
noremap = true,
|
noremap = true,
|
||||||
desc = 'Trouble diagnostics'
|
desc = 'Trouble diagnostics',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>nt',
|
'<leader>nt',
|
||||||
'<cmd>Trouble qflist<CR>',
|
'<cmd>Trouble qflist<CR>',
|
||||||
noremap = true,
|
noremap = true,
|
||||||
desc = 'Trouble qflist'
|
desc = 'Trouble qflist',
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
|
|
@ -40,7 +40,7 @@ return {
|
||||||
local capabilities = vim.tbl_deep_extend(
|
local capabilities = vim.tbl_deep_extend(
|
||||||
'force',
|
'force',
|
||||||
{},
|
{},
|
||||||
require("blink.cmp").get_lsp_capabilities(),
|
require('blink.cmp').get_lsp_capabilities(),
|
||||||
vim.lsp.protocol.make_client_capabilities()
|
vim.lsp.protocol.make_client_capabilities()
|
||||||
)
|
)
|
||||||
lspconfig.gopls.setup {
|
lspconfig.gopls.setup {
|
||||||
|
|
@ -121,13 +121,13 @@ return {
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'grd',
|
'grd',
|
||||||
'<cmd>Trouble lsp_definitions toggle win.position=left <CR>',
|
'<cmd>Trouble lsp_definitions toggle <CR>',
|
||||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'grr',
|
'grr',
|
||||||
'<cmd>Trouble lsp_references toggle win.position=left <CR>',
|
'<cmd>Trouble lsp_references toggle <CR>',
|
||||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
|
|
@ -143,7 +143,9 @@ return {
|
||||||
if client.server_capabilities.codeLensProvider then
|
if client.server_capabilities.codeLensProvider then
|
||||||
vim.api.nvim_create_autocmd({ 'InsertLeave', 'BufWritePost', 'TextChanged' }, {
|
vim.api.nvim_create_autocmd({ 'InsertLeave', 'BufWritePost', 'TextChanged' }, {
|
||||||
group = vim.api.nvim_create_augroup(string.format('lsp-%s-%s', bufnr, client.id), {}),
|
group = vim.api.nvim_create_augroup(string.format('lsp-%s-%s', bufnr, client.id), {}),
|
||||||
callback = function() vim.lsp.codelens.refresh { bufnr = bufnr } end,
|
callback = function()
|
||||||
|
vim.lsp.codelens.refresh { bufnr = bufnr }
|
||||||
|
end,
|
||||||
buffer = bufnr,
|
buffer = bufnr,
|
||||||
})
|
})
|
||||||
vim.lsp.codelens.refresh()
|
vim.lsp.codelens.refresh()
|
||||||
|
|
@ -157,26 +159,38 @@ return {
|
||||||
'stevearc/conform.nvim',
|
'stevearc/conform.nvim',
|
||||||
event = 'VeryLazy',
|
event = 'VeryLazy',
|
||||||
keys = {
|
keys = {
|
||||||
{ "\\f", function() vim.b.disable_autoformat = not vim.b.disable_autoformat end, mode = { "n", "x" } },
|
{
|
||||||
{ "\\F", function() vim.g.disable_autoformat = not vim.g.disable_autoformat end, mode = { "n", "x" } },
|
'\\f',
|
||||||
|
function()
|
||||||
|
vim.b.disable_autoformat = not vim.b.disable_autoformat
|
||||||
|
end,
|
||||||
|
mode = { 'n', 'x' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'\\F',
|
||||||
|
function()
|
||||||
|
vim.g.disable_autoformat = not vim.g.disable_autoformat
|
||||||
|
end,
|
||||||
|
mode = { 'n', 'x' },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
notify_no_formatters = false,
|
notify_no_formatters = false,
|
||||||
formatters_by_ft = {
|
formatters_by_ft = {
|
||||||
json = { "jq" },
|
json = { 'jq' },
|
||||||
puppet = { "puppet-lint" },
|
puppet = { 'puppet-lint' },
|
||||||
['*'] = { 'trim_whitespace' }
|
['*'] = { 'trim_whitespace' },
|
||||||
},
|
},
|
||||||
format_on_save = function(bufnr)
|
format_on_save = function(bufnr)
|
||||||
-- Disable with a global or buffer-local variable
|
-- Disable with a global or buffer-local variable
|
||||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
return { timeout_ms = 500, lsp_format = "last" }
|
return { timeout_ms = 500, lsp_format = 'last' }
|
||||||
end,
|
end,
|
||||||
default_format_opts = {
|
default_format_opts = {
|
||||||
timeout_ms = 500,
|
timeout_ms = 500,
|
||||||
lsp_format = "last",
|
lsp_format = 'last',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -184,15 +198,15 @@ return {
|
||||||
'mfussenegger/nvim-lint',
|
'mfussenegger/nvim-lint',
|
||||||
event = 'VeryLazy',
|
event = 'VeryLazy',
|
||||||
config = function()
|
config = function()
|
||||||
require("lint").linters_by_ft = {
|
require('lint').linters_by_ft = {
|
||||||
docker = { "hadolint" },
|
docker = { 'hadolint' },
|
||||||
yaml = { "yamllint" },
|
yaml = { 'yamllint' },
|
||||||
puppet = { "puppet-lint" },
|
puppet = { 'puppet-lint' },
|
||||||
sh = { "shellcheck" },
|
sh = { 'shellcheck' },
|
||||||
go = { "golangcilint" },
|
go = { 'golangcilint' },
|
||||||
ruby = { "rubocop" },
|
ruby = { 'rubocop' },
|
||||||
}
|
}
|
||||||
vim.api.nvim_command('au BufWritePost * lua require("lint").try_lint()')
|
vim.api.nvim_command('au BufWritePost * lua require("lint").try_lint()')
|
||||||
end
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ return {
|
||||||
{
|
{
|
||||||
'echasnovski/mini.nvim',
|
'echasnovski/mini.nvim',
|
||||||
lazy = false,
|
lazy = false,
|
||||||
dependencies = { "folke/snacks.nvim" },
|
dependencies = { 'folke/snacks.nvim' },
|
||||||
config = function()
|
config = function()
|
||||||
require('mini.basics').setup { mappings = { windows = true, }, }
|
require('mini.basics').setup { mappings = { windows = true } }
|
||||||
require('mini.tabline').setup({
|
require('mini.tabline').setup {
|
||||||
tabpage_section = 'right',
|
tabpage_section = 'right',
|
||||||
show_icons = false,
|
show_icons = false,
|
||||||
})
|
}
|
||||||
require('mini.statusline').setup {
|
require('mini.statusline').setup {
|
||||||
content = {
|
content = {
|
||||||
active = function()
|
active = function()
|
||||||
|
|
@ -48,9 +48,10 @@ return {
|
||||||
require('mini.align').setup()
|
require('mini.align').setup()
|
||||||
require('mini.bracketed').setup()
|
require('mini.bracketed').setup()
|
||||||
require('mini.icons').setup()
|
require('mini.icons').setup()
|
||||||
require('mini.jump2d').setup({ mappings = { start_jumping = '<leader>S' } });
|
require('mini.jump2d').setup { mappings = { start_jumping = '<leader>S' } }
|
||||||
|
require('mini.operators').setup()
|
||||||
require('mini.surround').setup()
|
require('mini.surround').setup()
|
||||||
require('mini.splitjoin').setup { detect = { separator = '[,;\n]' }, }
|
require('mini.splitjoin').setup { detect = { separator = '[,;\n]' } }
|
||||||
|
|
||||||
local miniclue = require('mini.clue')
|
local miniclue = require('mini.clue')
|
||||||
miniclue.setup {
|
miniclue.setup {
|
||||||
|
|
@ -66,7 +67,7 @@ return {
|
||||||
{ mode = 'n', keys = '[' },
|
{ mode = 'n', keys = '[' },
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
config = { width = 'auto', },
|
config = { width = 'auto' },
|
||||||
},
|
},
|
||||||
clues = {
|
clues = {
|
||||||
miniclue.gen_clues.g(),
|
miniclue.gen_clues.g(),
|
||||||
|
|
@ -74,14 +75,14 @@ return {
|
||||||
miniclue.gen_clues.registers(),
|
miniclue.gen_clues.registers(),
|
||||||
miniclue.gen_clues.windows(),
|
miniclue.gen_clues.windows(),
|
||||||
miniclue.gen_clues.z(),
|
miniclue.gen_clues.z(),
|
||||||
{ mode = 'n', keys = '<Leader>wj', postkeys = '<Leader>w', desc = 'TS Down' },
|
{ mode = 'n', keys = '<Leader>wj', postkeys = '<Leader>w', desc = 'TS Down' },
|
||||||
{ mode = 'n', keys = '<Leader>wk', postkeys = '<Leader>w', desc = 'TS Up' },
|
{ mode = 'n', keys = '<Leader>wk', postkeys = '<Leader>w', desc = 'TS Up' },
|
||||||
{ mode = 'n', keys = '<Leader>wh', postkeys = '<Leader>w', desc = 'TS Left' },
|
{ mode = 'n', keys = '<Leader>wh', postkeys = '<Leader>w', desc = 'TS Left' },
|
||||||
{ mode = 'n', keys = '<Leader>wl', postkeys = '<Leader>w', desc = 'TS Right' },
|
{ mode = 'n', keys = '<Leader>wl', postkeys = '<Leader>w', desc = 'TS Right' },
|
||||||
{ mode = 'n', keys = '<Leader>w<C-J>', postkeys = '<Leader>w', desc = 'Swap TS Down' },
|
{ mode = 'n', keys = '<Leader>w<C-J>', postkeys = '<Leader>w', desc = 'Swap TS Down' },
|
||||||
{ mode = 'n', keys = '<Leader>w<C-K>', postkeys = '<Leader>w', desc = 'Swap TS Up' },
|
{ mode = 'n', keys = '<Leader>w<C-K>', postkeys = '<Leader>w', desc = 'Swap TS Up' },
|
||||||
{ mode = 'n', keys = '<Leader>w<C-H>', postkeys = '<Leader>w', desc = 'Swap TS Left' },
|
{ mode = 'n', keys = '<Leader>w<C-H>', postkeys = '<Leader>w', desc = 'Swap TS Left' },
|
||||||
{ mode = 'n', keys = '<Leader>w<C-L>', postkeys = '<Leader>w', desc = 'Swap TS Right' },
|
{ mode = 'n', keys = '<Leader>w<C-L>', postkeys = '<Leader>w', desc = 'Swap TS Right' },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,54 +104,6 @@ return {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
vim.keymap.set('n', '<leader>nm', map.toggle, { noremap = true, desc = 'minimap open' })
|
vim.keymap.set('n', '<leader>nm', map.toggle, { noremap = true, desc = 'minimap open' })
|
||||||
|
|
||||||
local files = require("mini.files")
|
|
||||||
files.setup {
|
|
||||||
mappings = {
|
|
||||||
go_in_plus = "<CR>"
|
|
||||||
},
|
|
||||||
windows = {
|
|
||||||
preview = true,
|
|
||||||
width_focus = 30,
|
|
||||||
width_preview = 50,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vim.keymap.set('n', '<leader>c', files.open, { noremap = true, desc = 'minifiles open' })
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "MiniFilesBufferCreate",
|
|
||||||
callback = function(args)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>c",
|
|
||||||
function()
|
|
||||||
files.synchronize()
|
|
||||||
files.close()
|
|
||||||
end,
|
|
||||||
{ buffer = args.data.buf_id }
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "MiniFilesBufferCreate",
|
|
||||||
callback = function(args)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"`",
|
|
||||||
function()
|
|
||||||
local cur_entry_path = MiniFiles.get_fs_entry().path
|
|
||||||
local cur_directory = vim.fs.dirname(cur_entry_path)
|
|
||||||
vim.fn.chdir(cur_directory)
|
|
||||||
end,
|
|
||||||
{ buffer = args.data.buf_id }
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "MiniFilesActionRename",
|
|
||||||
callback = function(event)
|
|
||||||
Snacks.rename.on_rename_file(event.data.from, event.data.to)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end)
|
end)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -24,24 +24,24 @@ return {
|
||||||
},
|
},
|
||||||
view = {
|
view = {
|
||||||
merge_tool = {
|
merge_tool = {
|
||||||
layout = "diff4_mixed",
|
layout = 'diff4_mixed',
|
||||||
disable_diagnostics = true,
|
disable_diagnostics = true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
keymaps = {
|
keymaps = {
|
||||||
view = {
|
view = {
|
||||||
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
{ { 'n' }, 'q', vim.cmd.DiffviewClose, { desc = 'Close Diffview' } },
|
||||||
},
|
},
|
||||||
file_panel = {
|
file_panel = {
|
||||||
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
{ { 'n' }, 'q', vim.cmd.DiffviewClose, { desc = 'Close Diffview' } },
|
||||||
},
|
},
|
||||||
file_history_panel = {
|
file_history_panel = {
|
||||||
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
{ { 'n' }, 'q', vim.cmd.DiffviewClose, { desc = 'Close Diffview' } },
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ '<leader>nb', vim.cmd.DiffviewOpen, noremap = true, desc = 'diffview open' }
|
{ '<leader>nb', vim.cmd.DiffviewOpen, noremap = true, desc = 'diffview open' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -55,7 +55,9 @@ return {
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
'<leader>ng',
|
'<leader>ng',
|
||||||
function() require('neogit').open() end,
|
function()
|
||||||
|
require('neogit').open()
|
||||||
|
end,
|
||||||
{ noremap = true, silent = true, desc = 'Neogit' },
|
{ noremap = true, silent = true, desc = 'Neogit' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -69,10 +71,10 @@ return {
|
||||||
transparent = true,
|
transparent = true,
|
||||||
terminal_colors = true,
|
terminal_colors = true,
|
||||||
modules = {
|
modules = {
|
||||||
"mini",
|
'mini',
|
||||||
"treesitter",
|
'treesitter',
|
||||||
"neogit",
|
'neogit',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
|
|
@ -112,7 +114,7 @@ return {
|
||||||
return ']c'
|
return ']c'
|
||||||
end
|
end
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
gs.next_hunk({ target = 'all' })
|
gs.next_hunk { target = 'all' }
|
||||||
end)
|
end)
|
||||||
return '<Ignore>'
|
return '<Ignore>'
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
@ -122,7 +124,7 @@ return {
|
||||||
return '[c'
|
return '[c'
|
||||||
end
|
end
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
gs.prev_hunk({ target = 'all' })
|
gs.prev_hunk { target = 'all' }
|
||||||
end)
|
end)
|
||||||
return '<Ignore>'
|
return '<Ignore>'
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
@ -133,18 +135,25 @@ return {
|
||||||
'gbprod/yanky.nvim',
|
'gbprod/yanky.nvim',
|
||||||
opts = {
|
opts = {
|
||||||
ring = {
|
ring = {
|
||||||
storage = "memory",
|
storage = 'memory',
|
||||||
},
|
},
|
||||||
picker = {
|
picker = {
|
||||||
select = {
|
select = {
|
||||||
action = require('yanky.picker').actions.set_register("+")
|
action = require('yanky.picker').actions.set_register('+'),
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
keys = {
|
keys = {
|
||||||
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" } },
|
{ 'y', '<Plug>(YankyYank)', mode = { 'n', 'x' } },
|
||||||
{ "<leader>fp", "<cmd>YankyRingHistory<cr>", mode = { "n", "x" }, noremap = true, silent = true, desc = 'Pick history (yanky.nvim)' }
|
{
|
||||||
|
'<leader>fp',
|
||||||
|
'<cmd>YankyRingHistory<cr>',
|
||||||
|
mode = { 'n', 'x' },
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
desc = 'Pick history (yanky.nvim)',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ 'ThePrimeagen/refactoring.nvim', event = 'VeryLazy', config = true }
|
{ 'ThePrimeagen/refactoring.nvim', event = 'VeryLazy', config = true },
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,145 +1,215 @@
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/snacks.nvim",
|
'folke/snacks.nvim',
|
||||||
dependencies = { "folke/trouble.nvim" },
|
dependencies = { 'folke/trouble.nvim' },
|
||||||
lazy = false,
|
lazy = false,
|
||||||
priority = 1000,
|
priority = 1000,
|
||||||
opts = {
|
opts = {
|
||||||
bigfile = { enabled = true },
|
bigfile = { enabled = true },
|
||||||
bufdelete = { enabled = true },
|
bufdelete = { enabled = true },
|
||||||
dim = { enabled = true },
|
dim = { enabled = true },
|
||||||
quickfile = { enabled = true },
|
quickfile = { enabled = true },
|
||||||
notifier = { enabled = true },
|
notifier = { enabled = true },
|
||||||
scope = { enabled = true },
|
scope = { enabled = true },
|
||||||
terminal = { enabled = true },
|
terminal = { enabled = true },
|
||||||
indent = { enabled = true },
|
indent = { enabled = true },
|
||||||
input = { enabled = true },
|
input = { enabled = true },
|
||||||
words = { enabled = true },
|
words = { enabled = true },
|
||||||
picker = {
|
picker = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
matcher = { frecency = true },
|
matcher = { frecency = true },
|
||||||
layout = {
|
layout = {
|
||||||
preset = function()
|
preset = function()
|
||||||
return vim.o.columns >= 120 and "telescope" or "vertical"
|
return vim.o.columns >= 120 and 'telescope' or 'vertical'
|
||||||
end
|
end,
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
files = { hidden = true },
|
|
||||||
grep = { hidden = true },
|
|
||||||
explorer = { hidden = true },
|
|
||||||
git_files = { untracked = true },
|
|
||||||
smart = {
|
|
||||||
multi = { "buffers", "recent", "files", "git_files" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
actions = {
|
|
||||||
trouble_open = function(...)
|
|
||||||
return require("trouble.sources.snacks").actions.trouble_open.action(...)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
win = {
|
|
||||||
input = {
|
|
||||||
keys = {
|
|
||||||
["wq"] = { "close", mode = "i" },
|
|
||||||
["<c-t>"] = { "trouble_open", mode = { "n", "i" } },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
list = {
|
|
||||||
keys = {
|
|
||||||
["wq"] = { "close", mode = "i" },
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
config = function(_, opts)
|
sources = {
|
||||||
require("snacks").setup(opts)
|
files = { hidden = true },
|
||||||
vim.api.nvim_set_hl(0, 'SnacksPickerDir', { fg = '#cccccc' })
|
grep = { hidden = true },
|
||||||
|
explorer = { hidden = true },
|
||||||
|
git_files = { untracked = true },
|
||||||
|
smart = {
|
||||||
|
multi = { 'buffers', 'recent', 'files', 'git_files' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
trouble_open = function(...)
|
||||||
|
return require('trouble.sources.snacks').actions.trouble_open.action(...)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
win = {
|
||||||
|
input = {
|
||||||
|
keys = {
|
||||||
|
['wq'] = { 'close', mode = 'i' },
|
||||||
|
['<c-t>'] = { 'trouble_open', mode = { 'n', 'i' } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
list = {
|
||||||
|
keys = {
|
||||||
|
['wq'] = { 'close', mode = 'i' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require('snacks').setup(opts)
|
||||||
|
vim.api.nvim_set_hl(0, 'SnacksPickerDir', { fg = '#cccccc' })
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
'<C-\\>',
|
||||||
|
function()
|
||||||
|
Snacks.terminal.toggle()
|
||||||
end,
|
end,
|
||||||
keys = {
|
mode = { 'n', 't' },
|
||||||
{ '<C-\\>', function() Snacks.terminal.toggle() end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
noremap = true,
|
||||||
{ '<C-/>', function() Snacks.terminal.toggle('$SHELL') end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
desc = 'terminal open',
|
||||||
{ 'm', function() Snacks.words.jump(1, true) end, noremap = true, desc = 'next reference' },
|
},
|
||||||
{ 'M', function() Snacks.words.jump(-1, true) end, noremap = true, desc = 'next reference' },
|
{
|
||||||
{
|
'<C-/>',
|
||||||
'\\z',
|
function()
|
||||||
function()
|
Snacks.terminal.toggle('$SHELL')
|
||||||
if Snacks.dim.enabled then
|
end,
|
||||||
Snacks.dim.disable()
|
mode = { 'n', 't' },
|
||||||
else
|
noremap = true,
|
||||||
Snacks.dim.enable()
|
desc = 'terminal open',
|
||||||
end
|
},
|
||||||
end,
|
{
|
||||||
noremap = true,
|
']r',
|
||||||
desc = 'next reference'
|
function()
|
||||||
},
|
Snacks.words.jump(1, true)
|
||||||
{ 'gq', function() Snacks.bufdelete() end, noremap = true, silent = true },
|
end,
|
||||||
{ 'gQ', function() Snacks.bufdelete.other() end, noremap = true, silent = true },
|
noremap = true,
|
||||||
{
|
desc = 'next reference',
|
||||||
'<leader>ff',
|
},
|
||||||
function() Snacks.picker.smart() end,
|
{
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find files' }
|
'[r',
|
||||||
},
|
function()
|
||||||
{
|
Snacks.words.jump(-1, true)
|
||||||
'<leader>fe',
|
end,
|
||||||
function() Snacks.explorer() end,
|
noremap = true,
|
||||||
{ noremap = true, silent = true, desc = 'snacks explorer' }
|
desc = 'next reference',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>fE',
|
'\\z',
|
||||||
function() Snacks.explorer.reveal() end,
|
function()
|
||||||
{ noremap = true, silent = true, desc = 'snacks explorer open current file' }
|
if Snacks.dim.enabled then
|
||||||
},
|
Snacks.dim.disable()
|
||||||
{
|
else
|
||||||
'<leader>fg',
|
Snacks.dim.enable()
|
||||||
function() Snacks.picker.git_files() end,
|
end
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find files' }
|
end,
|
||||||
},
|
noremap = true,
|
||||||
{
|
desc = 'next reference',
|
||||||
'<leader>fa',
|
},
|
||||||
function() Snacks.picker.grep() end,
|
{
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find grep' }
|
'gq',
|
||||||
},
|
function()
|
||||||
{
|
Snacks.bufdelete()
|
||||||
'<leader>f8',
|
end,
|
||||||
function() Snacks.picker.grep_word() end,
|
noremap = true,
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find grep word' }
|
silent = true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>f?',
|
'gQ',
|
||||||
function() Snacks.picker.pickers() end,
|
function()
|
||||||
{ noremap = true, silent = true, desc = 'See all pickers' }
|
Snacks.bufdelete.other()
|
||||||
},
|
end,
|
||||||
{
|
noremap = true,
|
||||||
'<leader>f\'',
|
silent = true,
|
||||||
function() Snacks.picker.marks() end,
|
},
|
||||||
{ noremap = true, silent = true, desc = 'Pick marks' }
|
{
|
||||||
},
|
'<leader>ff',
|
||||||
{
|
function()
|
||||||
'<leader>fu',
|
Snacks.picker.smart()
|
||||||
function() Snacks.picker.undo() end,
|
end,
|
||||||
{ noremap = true, silent = true, desc = 'Pick undotree' }
|
{ noremap = true, silent = true, desc = 'Fuzzy find files' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'<leader>fj',
|
'<leader>fe',
|
||||||
function() Snacks.picker.jumps() end,
|
function()
|
||||||
{ noremap = true, silent = true, desc = 'Pick jumps' }
|
Snacks.explorer()
|
||||||
},
|
end,
|
||||||
{
|
{ noremap = true, silent = true, desc = 'snacks explorer' },
|
||||||
'<leader>f.',
|
},
|
||||||
function() Snacks.picker.resume() end,
|
{
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find resume' }
|
'<leader>fE',
|
||||||
},
|
function()
|
||||||
{
|
Snacks.explorer.reveal()
|
||||||
'<leader><leader>',
|
end,
|
||||||
function() Snacks.picker.buffers() end,
|
{ noremap = true, silent = true, desc = 'snacks explorer open current file' },
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find buffers' }
|
},
|
||||||
},
|
{
|
||||||
{
|
'<leader>fg',
|
||||||
'<leader>fn',
|
function()
|
||||||
function() Snacks.picker.notifications() end,
|
Snacks.picker.git_files()
|
||||||
{ noremap = true, silent = true, desc = 'pick notifications' }
|
end,
|
||||||
},
|
{ noremap = true, silent = true, desc = 'Fuzzy find files' },
|
||||||
}
|
},
|
||||||
}
|
{
|
||||||
|
'<leader>fa',
|
||||||
|
function()
|
||||||
|
Snacks.picker.grep()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find grep' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>f8',
|
||||||
|
function()
|
||||||
|
Snacks.picker.grep_word()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find grep word' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>f?',
|
||||||
|
function()
|
||||||
|
Snacks.picker.pickers()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'See all pickers' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>f'",
|
||||||
|
function()
|
||||||
|
Snacks.picker.marks()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Pick marks' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>fu',
|
||||||
|
function()
|
||||||
|
Snacks.picker.undo()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Pick undotree' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>fj',
|
||||||
|
function()
|
||||||
|
Snacks.picker.jumps()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Pick jumps' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>f.',
|
||||||
|
function()
|
||||||
|
Snacks.picker.resume()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find resume' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader><leader>',
|
||||||
|
function()
|
||||||
|
Snacks.picker.buffers()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find buffers' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>fn',
|
||||||
|
function()
|
||||||
|
Snacks.picker.notifications()
|
||||||
|
end,
|
||||||
|
{ noremap = true, silent = true, desc = 'pick notifications' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,22 +8,22 @@ return {
|
||||||
opts = {
|
opts = {
|
||||||
max_lines = 2,
|
max_lines = 2,
|
||||||
min_window_height = 50,
|
min_window_height = 50,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||||
{
|
{
|
||||||
'aaronik/treewalker.nvim',
|
'aaronik/treewalker.nvim',
|
||||||
keys = {
|
keys = {
|
||||||
{ "<leader>wj", '<cmd>Treewalker Down<cr>', silent = true, desc = 'Down (Treewalker)' },
|
{ '<leader>wj', '<cmd>Treewalker Down<cr>', silent = true, desc = 'Down (Treewalker)' },
|
||||||
{ "<leader>wk", '<cmd>Treewalker Up<cr>', silent = true, desc = 'Up (Treewalker)' },
|
{ '<leader>wk', '<cmd>Treewalker Up<cr>', silent = true, desc = 'Up (Treewalker)' },
|
||||||
{ "<leader>wh", '<cmd>Treewalker Left<cr>', silent = true, desc = 'Left (Treewalker)' },
|
{ '<leader>wh', '<cmd>Treewalker Left<cr>', silent = true, desc = 'Left (Treewalker)' },
|
||||||
{ "<leader>wl", '<cmd>Treewalker Right<cr>', silent = true, desc = 'Right (Treewalker)' },
|
{ '<leader>wl', '<cmd>Treewalker Right<cr>', silent = true, desc = 'Right (Treewalker)' },
|
||||||
{ "<leader>w<C-J>", '<cmd>Treewalker SwapDown<cr>', silent = true, desc = 'SwapDown (Treewalker)' },
|
{ '<leader>w<C-J>', '<cmd>Treewalker SwapDown<cr>', silent = true, desc = 'SwapDown (Treewalker)' },
|
||||||
{ "<leader>w<C-K>", '<cmd>Treewalker SwapUp<cr>', silent = true, desc = 'SwapUp (Treewalker)' },
|
{ '<leader>w<C-K>', '<cmd>Treewalker SwapUp<cr>', silent = true, desc = 'SwapUp (Treewalker)' },
|
||||||
{ "<leader>w<C-H>", '<cmd>Treewalker SwapLeft<cr>', silent = true, desc = 'SwapLeft (Treewalker)' },
|
{ '<leader>w<C-H>', '<cmd>Treewalker SwapLeft<cr>', silent = true, desc = 'SwapLeft (Treewalker)' },
|
||||||
{ "<leader>w<C-L>", '<cmd>Treewalker SwapRight<cr>', silent = true, desc = 'SwapRight (Treewalker)' },
|
{ '<leader>w<C-L>', '<cmd>Treewalker SwapRight<cr>', silent = true, desc = 'SwapRight (Treewalker)' },
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require('nvim-treesitter.configs').setup {
|
require('nvim-treesitter.configs').setup {
|
||||||
|
|
@ -46,8 +46,8 @@ return {
|
||||||
['af'] = '@function.outer',
|
['af'] = '@function.outer',
|
||||||
['if'] = '@function.inner',
|
['if'] = '@function.inner',
|
||||||
['ia'] = '@parameter.inner',
|
['ia'] = '@parameter.inner',
|
||||||
["ik"] = "@assignment.lhs",
|
['ik'] = '@assignment.lhs',
|
||||||
["iv"] = "@assignment.rhs",
|
['iv'] = '@assignment.rhs',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
move = {
|
move = {
|
||||||
|
|
@ -82,7 +82,6 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue