mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
add copilot, snacks
This commit is contained in:
parent
0f709befab
commit
d88c03f005
11 changed files with 325 additions and 450 deletions
75
nvim/lua/plugins/ai.lua
Normal file
75
nvim/lua/plugins/ai.lua
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
return {
|
||||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
opts = {
|
||||
panel = { enabled = false },
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
keymap = {
|
||||
accept = "<M-]>",
|
||||
next = "<M-[>",
|
||||
dismiss = "<C-]>",
|
||||
},
|
||||
},
|
||||
completion = {
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
},
|
||||
list = {
|
||||
selection = {
|
||||
preselect = false,
|
||||
auto_insert = true,
|
||||
}
|
||||
},
|
||||
accept = {
|
||||
auto_brackets = {
|
||||
enabled = true
|
||||
}
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
go = true,
|
||||
lua = true,
|
||||
php = true,
|
||||
python = true,
|
||||
ruby = true,
|
||||
sh = true,
|
||||
puppet = true,
|
||||
yaml = true,
|
||||
markdown = true,
|
||||
["."] = false,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"yetone/avante.nvim",
|
||||
event = "VeryLazy",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"stevearc/dressing.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
"folke/snacks.nvim",
|
||||
"zbirenbaum/copilot.lua",
|
||||
{
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
opts = {
|
||||
file_types = { "markdown", "Avante" },
|
||||
},
|
||||
ft = { "markdown", "Avante" },
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
provider = "copilot",
|
||||
auto_suggestions_provider = "copilot",
|
||||
behavior = {
|
||||
auto_suggestions = false, -- TODO
|
||||
},
|
||||
file_selector = {
|
||||
provider = "native", -- TODO snacks once it's ready
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,60 +1,105 @@
|
|||
return {
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'VeryLazy',
|
||||
'saghen/blink.cmp',
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-buffer',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'ray-x/cmp-treesitter',
|
||||
'L3MON4D3/luasnip',
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
"yetone/avante.nvim",
|
||||
'saghen/blink.compat',
|
||||
'rafamadriz/friendly-snippets',
|
||||
'giuxtaposition/blink-cmp-copilot',
|
||||
'mikavilpas/blink-ripgrep.nvim'
|
||||
},
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-n>'] = cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Insert },
|
||||
['<C-p>'] = cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Insert },
|
||||
['<C-Space>'] = cmp.mapping.confirm {
|
||||
select = true,
|
||||
behavior = cmp.SelectBehavior.Insert
|
||||
},
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp', keyword_length = 1 },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'path' },
|
||||
{ name = 'treesitter', keyword_length = 3 },
|
||||
}),
|
||||
}
|
||||
|
||||
cmp.setup.cmdline({ '/', '?' }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = 'buffer' },
|
||||
},
|
||||
config = function(_, opts)
|
||||
require('blink.cmp').setup(opts)
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'BlinkCmpMenuOpen',
|
||||
callback = function()
|
||||
require("copilot.suggestion").dismiss()
|
||||
vim.b.copilot_suggestion_hidden = true
|
||||
end,
|
||||
})
|
||||
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'path' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'cmdline' },
|
||||
}),
|
||||
matching = { disallow_symbol_nonprefix_matching = false },
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'BlinkCmpMenuClose',
|
||||
callback = function()
|
||||
vim.b.copilot_suggestion_hidden = false
|
||||
end,
|
||||
})
|
||||
end,
|
||||
opts = {
|
||||
sources = {
|
||||
default = {
|
||||
"lsp",
|
||||
"path",
|
||||
"snippets",
|
||||
"buffer",
|
||||
"ripgrep",
|
||||
"avante_commands",
|
||||
"avante_mentions",
|
||||
"avante_files"
|
||||
},
|
||||
providers = {
|
||||
ripgrep = {
|
||||
module = "blink-ripgrep",
|
||||
name = "rg",
|
||||
score_offset = -10,
|
||||
},
|
||||
avante_commands = {
|
||||
name = "avante_commands",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 90,
|
||||
opts = {},
|
||||
},
|
||||
avante_files = {
|
||||
name = "avante_files",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 100,
|
||||
opts = {},
|
||||
},
|
||||
avante_mentions = {
|
||||
name = "avante_mentions",
|
||||
module = "blink.compat.source",
|
||||
score_offset = 1000,
|
||||
opts = {},
|
||||
}
|
||||
}
|
||||
},
|
||||
keymap = {
|
||||
["<C-space>"] = { "show", "select_and_accept" }
|
||||
},
|
||||
completion = {
|
||||
documentation = {
|
||||
auto_show = true,
|
||||
auto_show_delay_ms = 100
|
||||
},
|
||||
list = {
|
||||
selection = {
|
||||
preselect = false,
|
||||
auto_insert = true,
|
||||
}
|
||||
},
|
||||
accept = {
|
||||
auto_brackets = {
|
||||
enabled = true
|
||||
}
|
||||
},
|
||||
menu = {
|
||||
draw = {
|
||||
treesitter = { "lsp" },
|
||||
columns = {
|
||||
{ "label", "label_description", gap = 1 },
|
||||
{ "source_name", "kind", gap = 1 }
|
||||
},
|
||||
}
|
||||
},
|
||||
trigger = {
|
||||
show_on_keyword = false,
|
||||
}
|
||||
},
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
},
|
||||
signature = { enabled = true }
|
||||
}
|
||||
},
|
||||
{
|
||||
'L3MON4D3/luasnip',
|
||||
|
|
|
|||
|
|
@ -2,45 +2,27 @@ return {
|
|||
{
|
||||
'folke/trouble.nvim',
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
'artemave/workspace-diagnostics.nvim',
|
||||
},
|
||||
config = function()
|
||||
require('trouble').setup()
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
config = true,
|
||||
keys = {
|
||||
{
|
||||
'<leader>de',
|
||||
'<cmd>Trouble diagnostics toggle focus=true<CR>',
|
||||
{ noremap = true, desc = 'Trouble diagnostics' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>dE',
|
||||
'<cmd>Trouble diagnostics toggle focus=true filter.buf=0<CR>',
|
||||
{ noremap = true, desc = 'Trouble diagnostics (currrent buffer)' }
|
||||
)
|
||||
vim.keymap.set('n', '<leader>dw', function()
|
||||
for _, client in ipairs(vim.lsp.get_clients { bufnr = 0 }) do
|
||||
require('workspace-diagnostics').populate_workspace_diagnostics(client, 0)
|
||||
end
|
||||
end, { noremap = true, desc = 'Populate Trouble workspace diagnostics' })
|
||||
end,
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'artemave/workspace-diagnostics.nvim',
|
||||
'folke/snacks.nvim',
|
||||
'saghen/blink.cmp',
|
||||
},
|
||||
config = function()
|
||||
local lspconfig = require('lspconfig')
|
||||
lspconfig.util.default_config.capabilities = vim.tbl_deep_extend(
|
||||
'force',
|
||||
lspconfig.util.default_config.capabilities,
|
||||
require('cmp_nvim_lsp').default_capabilities()
|
||||
)
|
||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
||||
lspconfig.gopls.setup {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
gopls = {
|
||||
gofumpt = true,
|
||||
|
|
@ -66,10 +48,12 @@ return {
|
|||
},
|
||||
},
|
||||
}
|
||||
lspconfig.jedi_language_server.setup {}
|
||||
lspconfig.nil_ls.setup {}
|
||||
lspconfig.phpactor.setup {}
|
||||
lspconfig.jedi_language_server.setup { capabilities = capabilities }
|
||||
lspconfig.nil_ls.setup { capabilities = capabilities }
|
||||
lspconfig.phpactor.setup { capabilities = capabilities }
|
||||
lspconfig.ruby_ls.setup { capabilities = capabilities }
|
||||
lspconfig.lua_ls.setup {
|
||||
capabilities = capabilities,
|
||||
on_init = function(client)
|
||||
local path = client.workspace_folders[1].name
|
||||
if vim.loop.fs_stat(path .. '/.luarc.json') or vim.loop.fs_stat(path .. '/.luarc.jsonc') then
|
||||
|
|
@ -120,27 +104,27 @@ return {
|
|||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>dd',
|
||||
'<cmd>Telescope lsp_definitions<cr>',
|
||||
function() Snacks.picker.diagnostics() end,
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP diagnostics' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>df',
|
||||
function() Snacks.picker.lsp_definitions() end,
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP definitions' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>di',
|
||||
'<cmd>Telescope lsp_implementations<cr>',
|
||||
function() Snacks.picker.lsp_implementations() end,
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP implementations' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>dr',
|
||||
'<cmd>Telescope lsp_references<cr>',
|
||||
function() Snacks.picker.lsp_references() end,
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP references' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>ds',
|
||||
'<cmd>Telescope lsp_document_symbols<cr>',
|
||||
{ buffer = ev.buf, noremap = true, silent = true, desc = 'LSP symbols' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>dl',
|
||||
|
|
@ -168,7 +152,6 @@ return {
|
|||
})
|
||||
vim.lsp.codelens.refresh { bufnr = bufnr }
|
||||
end
|
||||
require('workspace-diagnostics').populate_workspace_diagnostics(client, bufnr)
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_exec_autocmds('FileType', {})
|
||||
|
|
|
|||
|
|
@ -46,18 +46,11 @@ return {
|
|||
require('mini.ai').setup()
|
||||
require('mini.align').setup()
|
||||
require('mini.bracketed').setup()
|
||||
require('mini.comment').setup()
|
||||
require('mini.icons').setup()
|
||||
require('mini.surround').setup()
|
||||
require('mini.jump2d').setup { mappings = { start_jumping = '<leader>S' } }
|
||||
require('mini.splitjoin').setup { detect = { separator = '[,;\n]' }, }
|
||||
require('mini.trailspace').setup()
|
||||
vim.api.nvim_create_user_command('Trim', require('mini.trailspace').trim, {})
|
||||
local indent = require('mini.indentscope')
|
||||
indent.setup {
|
||||
symbol = '│',
|
||||
draw = { delay = 0 },
|
||||
}
|
||||
|
||||
local miniclue = require('mini.clue')
|
||||
miniclue.setup {
|
||||
|
|
@ -101,14 +94,6 @@ return {
|
|||
}
|
||||
vim.keymap.set('n', '<leader>nm', map.toggle, { noremap = true, desc = 'minimap open' })
|
||||
|
||||
require('mini.notify').setup {
|
||||
window = {
|
||||
winblend = 0,
|
||||
config = {
|
||||
border = 'double',
|
||||
},
|
||||
},
|
||||
}
|
||||
local files = require("mini.files")
|
||||
files.setup {
|
||||
mappings = {
|
||||
|
|
|
|||
|
|
@ -9,16 +9,6 @@ return {
|
|||
event = 'VeryLazy',
|
||||
config = true,
|
||||
},
|
||||
{
|
||||
'akinsho/toggleterm.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
open_mapping = [[<C-\>]],
|
||||
direction = 'float',
|
||||
close_on_exit = true,
|
||||
autochdir = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
'jinh0/eyeliner.nvim',
|
||||
event = 'VeryLazy',
|
||||
|
|
@ -27,13 +17,6 @@ return {
|
|||
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true })
|
||||
end,
|
||||
},
|
||||
{
|
||||
'OXY2DEV/markview.nvim',
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
}
|
||||
},
|
||||
{ 'tiagovla/scope.nvim', event = 'VeryLazy', config = true },
|
||||
{
|
||||
'sindrets/diffview.nvim',
|
||||
|
|
@ -65,16 +48,12 @@ return {
|
|||
disable_builtin_notifications = true,
|
||||
integrations = {
|
||||
diffview = true,
|
||||
telescope = true,
|
||||
fzf_lua = true,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
'<leader>ng',
|
||||
function()
|
||||
require('neogit').open()
|
||||
end,
|
||||
function() require('neogit').open() end,
|
||||
{ noremap = true, silent = true, desc = 'Neogit' },
|
||||
},
|
||||
},
|
||||
|
|
@ -98,17 +77,17 @@ return {
|
|||
options = {
|
||||
transparent = true,
|
||||
terminal_colors = false,
|
||||
modules = {
|
||||
"mini",
|
||||
"treesitter",
|
||||
"neogit",
|
||||
"aerial"
|
||||
}
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require('nightfox').setup(opts)
|
||||
vim.cmd('colorscheme terafox')
|
||||
vim.api.nvim_set_hl(0, 'MiniNotifyNormal', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'MiniNotifyTitle', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'MiniNotifyBorder', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'MiniMapNormal', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'MiniClueNormal', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'MiniTablineFill', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'StatusLine', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'StatusLineNC', { bg = 'none' })
|
||||
vim.api.nvim_set_hl(0, 'GitSignsAdd', { fg = 'green', bold = true })
|
||||
|
|
@ -179,4 +158,16 @@ return {
|
|||
autojump = true,
|
||||
},
|
||||
},
|
||||
{
|
||||
'gbprod/yanky.nvim',
|
||||
opts = {
|
||||
ring = {
|
||||
storage = "memory",
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "y", "<Plug>(YankyYank)", mode = { "n", "x" } },
|
||||
{ "<leader>fp", "<cmd>YankyRingHistory<cr>", { mode = { "n", "x" }, noremap = true, silent = true, desc = 'Pick history (yanky.nvim)' } }
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
76
nvim/lua/plugins/snacks.lua
Normal file
76
nvim/lua/plugins/snacks.lua
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
return {
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
priority = 1000,
|
||||
lazy = false,
|
||||
opts = {
|
||||
bigfile = { 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
|
||||
},
|
||||
win = {
|
||||
input = {
|
||||
keys = {
|
||||
["wq"] = { "close", mode = "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' },
|
||||
{ '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 git 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.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' }
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
return {
|
||||
{
|
||||
'nvim-telescope/telescope-fzf-native.nvim',
|
||||
event = 'VeryLazy',
|
||||
build = 'make',
|
||||
},
|
||||
{
|
||||
'nvim-telescope/telescope.nvim',
|
||||
event = 'VeryLazy',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-telescope/telescope-fzf-native.nvim',
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'tiagovla/scope.nvim',
|
||||
{
|
||||
'gbprod/yanky.nvim',
|
||||
config = function()
|
||||
local mapping = require("yanky.telescope.mapping")
|
||||
require("yanky").setup({
|
||||
picker = {
|
||||
telescope = {
|
||||
mappings = {
|
||||
default = mapping.set_register(
|
||||
require("yanky.utils").get_default_register()
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
ring = {
|
||||
storage = "memory",
|
||||
},
|
||||
})
|
||||
vim.keymap.set({ "n", "x" }, "y", "<Plug>(YankyYank)")
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local telescope = require('telescope')
|
||||
local actions = require('telescope.actions')
|
||||
telescope.setup {
|
||||
defaults = {
|
||||
layout_strategy = 'vertical',
|
||||
layout_config = { width = 0.90 },
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
preview_title = false,
|
||||
vimgrep_arguments = {
|
||||
'rg',
|
||||
'-L',
|
||||
'--color=never',
|
||||
'--no-heading',
|
||||
'--hidden',
|
||||
'--with-filename',
|
||||
'--line-number',
|
||||
'--column',
|
||||
'--smart-case',
|
||||
},
|
||||
preview = { treesitter = true },
|
||||
path_display = { 'truncate' },
|
||||
mappings = {
|
||||
i = {
|
||||
['wq'] = actions.close,
|
||||
['<Esc>'] = actions.close,
|
||||
['<C-k>'] = actions.move_selection_previous,
|
||||
['<C-j>'] = actions.move_selection_next,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
telescope.load_extension('fzf')
|
||||
telescope.load_extension('scope')
|
||||
telescope.load_extension('yank_history')
|
||||
|
||||
local b = require('telescope.builtin')
|
||||
-- Fall back to find_files if not in a git repo
|
||||
local project_files = function()
|
||||
local opts = {} -- define here if you want to define something
|
||||
local ok = pcall(b.git_files, opts)
|
||||
if not ok then
|
||||
b.find_files(opts)
|
||||
end
|
||||
end
|
||||
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>ff',
|
||||
project_files,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find git files' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fg',
|
||||
b.find_files,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find files' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fa',
|
||||
b.live_grep,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find grep' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>f8',
|
||||
b.grep_string,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find grep current word' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>f?',
|
||||
b.builtin,
|
||||
{ noremap = true, silent = true, desc = 'See all pickers' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>f.',
|
||||
b.resume,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find resume' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fs',
|
||||
b.lsp_document_symbols,
|
||||
{ noremap = true, silent = true, desc = 'Fuzzy find treesitter objects' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader><leader>',
|
||||
'<cmd>Telescope scope buffers<cr>',
|
||||
{ noremap = true, silent = true, desc = 'Pick buffers (scope.nvim)' }
|
||||
)
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fp',
|
||||
'<cmd>Telescope yank_history<cr>',
|
||||
{ noremap = true, silent = true, desc = 'Pick history (yanky.nvim)' }
|
||||
)
|
||||
end,
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue