mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
refactor(flake): tidy up inputs attrset
This commit is contained in:
parent
7e87ede672
commit
4dfe6c4c33
9 changed files with 263 additions and 295 deletions
|
|
@ -2,32 +2,19 @@ return {
|
|||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
keys = {
|
||||
{
|
||||
'M-\\',
|
||||
'<cmd>Copilot panel<CR>',
|
||||
noremap = true,
|
||||
desc = 'Copilot panel'
|
||||
}
|
||||
},
|
||||
opts = {
|
||||
panel = {
|
||||
enabled = true,
|
||||
auto_refresh = true,
|
||||
auto_refresh = false,
|
||||
keymap = {
|
||||
jump_prev = "<C-p>",
|
||||
jump_next = "<C-n>",
|
||||
accept = "<C-y>",
|
||||
toggle = "<M-CR>"
|
||||
}
|
||||
},
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
auto_trigger = true,
|
||||
hide_during_completion = true,
|
||||
keymap = {
|
||||
accept = "<M-]>",
|
||||
next = "<M-[>",
|
||||
},
|
||||
enabled = false,
|
||||
},
|
||||
completion = {
|
||||
documentation = {
|
||||
|
|
@ -52,10 +39,12 @@ return {
|
|||
python = true,
|
||||
ruby = true,
|
||||
sh = true,
|
||||
bash = true,
|
||||
javascript = true,
|
||||
puppet = true,
|
||||
yaml = true,
|
||||
markdown = true,
|
||||
["."] = false,
|
||||
["*"] = false,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,28 +1,42 @@
|
|||
return {
|
||||
{
|
||||
'saghen/blink.cmp',
|
||||
event = "VeryLazy",
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
'rafamadriz/friendly-snippets',
|
||||
'mikavilpas/blink-ripgrep.nvim'
|
||||
'mikavilpas/blink-ripgrep.nvim',
|
||||
'fang2hou/blink-copilot',
|
||||
},
|
||||
opts = {
|
||||
sources = {
|
||||
default = {
|
||||
"lsp",
|
||||
"path",
|
||||
"snippets",
|
||||
"buffer",
|
||||
"ripgrep",
|
||||
'lsp',
|
||||
'path',
|
||||
'omni',
|
||||
'ripgrep',
|
||||
'copilot',
|
||||
},
|
||||
providers = {
|
||||
ripgrep = {
|
||||
module = "blink-ripgrep",
|
||||
name = "rg",
|
||||
score_offset = -10,
|
||||
module = 'blink-ripgrep',
|
||||
name = 'rg',
|
||||
score_offset = -30,
|
||||
async = true,
|
||||
},
|
||||
}
|
||||
copilot = {
|
||||
module = 'blink-copilot',
|
||||
name = 'Copilot',
|
||||
score_offset = 100,
|
||||
async = true,
|
||||
opts = {
|
||||
max_completions = 3,
|
||||
debounce = 500,
|
||||
auto_refresh = {
|
||||
backward = false,
|
||||
forward = true,
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
cmdline = {
|
||||
completion = {
|
||||
|
|
@ -34,62 +48,22 @@ return {
|
|||
completion = {
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 100
|
||||
},
|
||||
list = {
|
||||
selection = {
|
||||
preselect = false,
|
||||
auto_insert = true,
|
||||
}
|
||||
},
|
||||
ghost_text = {
|
||||
enabled = true,
|
||||
auto_show_delay_ms = 500,
|
||||
},
|
||||
menu = {
|
||||
draw = {
|
||||
treesitter = { "lsp" },
|
||||
treesitter = { 'lsp' },
|
||||
columns = {
|
||||
{ "label", "label_description", gap = 1 },
|
||||
{ "source_name", "kind", gap = 1 }
|
||||
{ 'label', 'label_description', gap = 1 },
|
||||
{ 'source_name', 'kind', gap = 1 },
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
trigger = {
|
||||
show_on_keyword = true,
|
||||
}
|
||||
},
|
||||
},
|
||||
signature = { enabled = true }
|
||||
}
|
||||
},
|
||||
{
|
||||
'L3MON4D3/luasnip',
|
||||
event = 'VeryLazy',
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
config = function()
|
||||
local ls = require('luasnip')
|
||||
ls.config.set_config {
|
||||
history = true,
|
||||
updateevents = 'TextChanged, TextChangedI',
|
||||
}
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
|
||||
vim.keymap.set({ 'i', 's' }, '<C-J>', function()
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
end
|
||||
end, { silent = true })
|
||||
|
||||
vim.keymap.set({ 'i', 's' }, '<C-K>', function()
|
||||
if ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
end
|
||||
end, { silent = true })
|
||||
|
||||
vim.keymap.set({ 'i', 's' }, '<C-L>', function()
|
||||
if ls.choice_active() then
|
||||
ls.change_choice(1)
|
||||
end
|
||||
end, { silent = true })
|
||||
end,
|
||||
signature = { enabled = true },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,12 @@ return {
|
|||
},
|
||||
config = function()
|
||||
local lspconfig = require('lspconfig')
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
local capabilities = vim.tbl_deep_extend(
|
||||
'force',
|
||||
{},
|
||||
require("blink.cmp").get_lsp_capabilities(),
|
||||
vim.lsp.protocol.make_client_capabilities()
|
||||
)
|
||||
lspconfig.gopls.setup {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
|
|
@ -94,12 +99,6 @@ return {
|
|||
if not client then
|
||||
return
|
||||
end
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'K',
|
||||
vim.lsp.buf.hover,
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'vim.lsp.buf.hover()' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'grt',
|
||||
|
|
@ -112,6 +111,12 @@ return {
|
|||
'<cmd>Trouble lsp_document_symbols toggle win.position=left <CR>',
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP symbols' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'grd',
|
||||
'<cmd>Trouble lsp_definitions toggle win.position=left <CR>',
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'Trouble LSP definition' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'grl',
|
||||
|
|
@ -138,6 +143,9 @@ return {
|
|||
{
|
||||
'stevearc/conform.nvim',
|
||||
event = 'VeryLazy',
|
||||
keys = {
|
||||
{ "\\f", function() require("conform").format({}) end, mode = { "n", "x" } },
|
||||
},
|
||||
opts = {
|
||||
notify_no_formatters = false,
|
||||
formatters_by_ft = {
|
||||
|
|
@ -145,7 +153,7 @@ return {
|
|||
puppet = { "puppet-lint" },
|
||||
['*'] = { 'trim_whitespace' }
|
||||
},
|
||||
format_on_save = {
|
||||
default_format_opts = {
|
||||
timeout_ms = 500,
|
||||
lsp_format = "last",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ return {
|
|||
event = 'VeryLazy',
|
||||
init = function()
|
||||
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { underline = true })
|
||||
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true })
|
||||
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true, bold = true })
|
||||
end,
|
||||
},
|
||||
{ 'tiagovla/scope.nvim', event = 'VeryLazy', config = true },
|
||||
|
|
@ -22,6 +22,12 @@ return {
|
|||
default_args = {
|
||||
DiffviewOpen = { '--imply-local' },
|
||||
},
|
||||
view = {
|
||||
merge_tool = {
|
||||
layout = "diff4_mixed",
|
||||
disable_diagnostics = true,
|
||||
},
|
||||
},
|
||||
keymaps = {
|
||||
view = {
|
||||
{ { "n" }, "q", vim.cmd.DiffviewClose, { desc = "Close Diffview" } },
|
||||
|
|
@ -38,22 +44,22 @@ return {
|
|||
{ '<leader>nb', vim.cmd.DiffviewOpen, noremap = true, desc = 'diffview open' }
|
||||
},
|
||||
},
|
||||
-- {
|
||||
-- 'NeogitOrg/neogit',
|
||||
-- opts = {
|
||||
-- disable_builtin_notifications = true,
|
||||
-- integrations = {
|
||||
-- diffview = true,
|
||||
-- },
|
||||
-- },
|
||||
-- keys = {
|
||||
-- {
|
||||
-- '<leader>ng',
|
||||
-- function() require('neogit').open() end,
|
||||
-- { noremap = true, silent = true, desc = 'Neogit' },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
{
|
||||
'NeogitOrg/neogit',
|
||||
opts = {
|
||||
disable_builtin_notifications = true,
|
||||
integrations = {
|
||||
diffview = true,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
'<leader>ng',
|
||||
function() require('neogit').open() end,
|
||||
{ noremap = true, silent = true, desc = 'Neogit' },
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'EdenEast/nightfox.nvim',
|
||||
lazy = false,
|
||||
|
|
@ -123,7 +129,6 @@ return {
|
|||
end,
|
||||
},
|
||||
},
|
||||
{ '/julienvincent/hunk.nvim', event = 'VeryLazy', opts = {} },
|
||||
{
|
||||
'gbprod/yanky.nvim',
|
||||
opts = {
|
||||
|
|
|
|||
|
|
@ -1,130 +1,145 @@
|
|||
return {
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
dependencies = { "folke/trouble.nvim" },
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
bigfile = { enabled = true },
|
||||
dim = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
notifier = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
terminal = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
words = { enabled = true },
|
||||
picker = {
|
||||
enabled = true,
|
||||
matcher = { frecency = true },
|
||||
layout = {
|
||||
preset = function()
|
||||
return vim.o.columns >= 120 and "telescope" or "vertical"
|
||||
end
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
dependencies = { "folke/trouble.nvim" },
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
bigfile = { enabled = true },
|
||||
bufdelete = { enabled = true },
|
||||
dim = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
notifier = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
terminal = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
words = { enabled = true },
|
||||
picker = {
|
||||
enabled = true,
|
||||
matcher = { frecency = true },
|
||||
layout = {
|
||||
preset = function()
|
||||
return vim.o.columns >= 120 and "telescope" or "vertical"
|
||||
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" },
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
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)
|
||||
require("snacks").setup(opts)
|
||||
vim.api.nvim_set_hl(0, 'SnacksPickerDir', { fg = '#cccccc' })
|
||||
end,
|
||||
keys = {
|
||||
{ '<C-\\>', function() Snacks.terminal.toggle() end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
||||
{ '<C-/>', function() Snacks.terminal.toggle('$SHELL') end, mode = { "n", "t" }, noremap = true, 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' },
|
||||
{
|
||||
'\\z',
|
||||
function()
|
||||
if Snacks.dim.enabled then
|
||||
Snacks.dim.disable()
|
||||
else
|
||||
Snacks.dim.enable()
|
||||
end
|
||||
end,
|
||||
noremap = true,
|
||||
desc = 'next reference'
|
||||
},
|
||||
{ 'gq', function() Snacks.bufdelete() end, noremap = true, silent = true },
|
||||
{ 'gQ', function() Snacks.bufdelete.other() end, noremap = true, silent = true },
|
||||
{
|
||||
'<leader>ff',
|
||||
function() Snacks.picker.smart() end,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find files' }
|
||||
},
|
||||
{
|
||||
'<leader>fe',
|
||||
function() Snacks.explorer() end,
|
||||
{ noremap = true, silent = true, desc = 'snacks explorer' }
|
||||
},
|
||||
{
|
||||
'<leader>fE',
|
||||
function() Snacks.explorer.reveal() end,
|
||||
{ noremap = true, silent = true, desc = 'snacks explorer open current file' }
|
||||
},
|
||||
{
|
||||
'<leader>fg',
|
||||
function() Snacks.picker.git_files() 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' }
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("snacks").setup(opts)
|
||||
vim.api.nvim_set_hl(0, 'SnacksPickerDir', { fg = '#cccccc' })
|
||||
end,
|
||||
keys = {
|
||||
{ '<C-\\>', function() Snacks.terminal.toggle() end, mode = { "n", "t" }, noremap = true, desc = 'terminal open' },
|
||||
{ '\\\\', function() Snacks.terminal.toggle('$SHELL') end, mode = { "n", "t" }, noremap = true, 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' },
|
||||
{
|
||||
'<leader>ff',
|
||||
function() Snacks.picker.smart() end,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find files' }
|
||||
},
|
||||
{
|
||||
'<leader>fe',
|
||||
function() Snacks.explorer() end,
|
||||
{ noremap = true, silent = true, desc = 'snacks explorer' }
|
||||
},
|
||||
{
|
||||
'<leader>fE',
|
||||
function() Snacks.explorer.reveal() end,
|
||||
{ noremap = true, silent = true, desc = 'snacks explorer open current file' }
|
||||
},
|
||||
{
|
||||
'<leader>fg',
|
||||
function() Snacks.picker.git_files() 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' }
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue