return { 'SmiteshP/nvim-navbuddy', dependencies = { 'neovim/nvim-lspconfig', 'SmiteshP/nvim-navic', 'MunifTanjim/nui.nvim' }, config = function() local actions = require('nvim-navbuddy.actions') local navbuddy = require('nvim-navbuddy') navbuddy.setup { mappings = { [''] = actions.close, -- Close and cursor to original location ['q'] = actions.close, ['j'] = actions.next_sibling, -- down ['k'] = actions.previous_sibling, -- up ['h'] = actions.parent, -- Move to left panel ['l'] = actions.children, -- Move to right panel ['v'] = actions.visual_name, -- Visual selection of name ['V'] = actions.visual_scope, -- Visual selection of scope ['y'] = actions.yank_name, -- Yank the name to system clipboard "+ ['Y'] = actions.yank_scope, -- Yank the scope to system clipboard "+ ['i'] = actions.insert_name, -- Insert at start of name ['I'] = actions.insert_scope, -- Insert at start of scope ['a'] = actions.append_name, -- Insert at end of name ['A'] = actions.append_scope, -- Insert at end of scope ['r'] = actions.rename, -- Rename currently focused symbol ['d'] = actions.delete, -- Delete scope ['f'] = actions.fold_create, -- Create fold of current scope ['F'] = actions.fold_delete, -- Delete fold of current scope ['c'] = actions.comment, -- Comment out current scope [''] = actions.select, -- Goto selected symbol ['o'] = actions.select, ['J'] = actions.move_down, -- Move focused node down ['K'] = actions.move_up, -- Move focused node up [''] = actions.next_sibling, -- down [''] = actions.previous_sibling, -- up [''] = actions.parent, -- Move to left panel [''] = actions.children, -- Move to right panel [''] = actions.move_down, -- Move focused node down [''] = actions.move_up, -- Move focused node up }, lsp = { auto_attach = true, -- If set to true, you don't need to manually use attach function }, } end, keys = { { 'n', function() require('nvim-navbuddy').open() end, desc = 'Navbuddy' }, }, cmd = 'Navbuddy', event = 'LspAttach' }