This commit is contained in:
sankalp committed 2025-01-19 14:43:34 +05:45
1 parent 7e1e99786c
commit 1af1f266a3
22 files changed
+408 -539

No files matched your search

+107
View File
@@ -0,0 +1,107 @@
local dap = require('dap')
local dapui = require('dapui')
local icons = require('lib.icons')
dapui.setup({
icons = { expanded = icons.ui.ArrowClosed, collapsed = icons.ui.ArrowOpen },
mappings = {
expand = { '<CR>', '<2-LeftMouse>' },
open = 'o',
remove = 'd',
edit = 'e',
repl = 'r',
toggle = 't',
},
expand_lines = vim.fn.has('nvim-0.7'),
layouts = {
{
elements = {
{ id = 'scopes', size = 0.25 },
'breakpoints',
'stacks',
'watches',
},
size = 40,
position = 'right',
},
{
elements = {
'repl',
'console',
},
size = 0.25,
position = 'bottom',
},
},
floating = {
max_height = nil,
max_width = nil,
border = 'rounded',
mappings = {
close = { 'q', '<Esc>' },
},
},
windows = { indent = 1 },
render = {
max_type_length = nil,
},
})
vim.fn.sign_define('DapBreakpoint', { text = icons.ui.Bug, texthl = 'DiagnosticSignError', linehl = '', numhl = '' })
dap.listeners.after.event_initialized['dapui_config'] = function()
dapui.open()
end
dap.listeners.before.event_terminated['dapui_config'] = function()
dapui.close()
end
dap.listeners.before.event_exited['dapui_config'] = function()
dapui.close()
end
dap.adapters.python = {
type = 'executable',
command = '/usr/bin/python',
args = { '-m', 'debugpy.adapter' },
}
dap.configurations.python = {
{
type = 'python',
request = 'launch',
name = 'Launch file',
program = '${file}',
pythonPath = function()
local cwd = vim.fn.getcwd()
if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
return cwd .. '/venv/bin/python'
elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
return cwd .. '/.venv/bin/python'
else
return '/usr/bin/python'
end
end,
},
}
dap.adapters.ruby = {
type = 'executable',
command = 'bundle',
args = { 'exec', 'readapt', 'stdio' },
}
dap.configurations.ruby = {
{
type = 'ruby',
request = 'launch',
name = 'Rails',
program = 'bundle',
programArgs = { 'exec', 'rails', 's' },
useBundler = true,
},
}
vim.api.nvim_create_user_command('DapUIToggle', function()
require('dapui').toggle()
end, {})
+39
View File
@@ -0,0 +1,39 @@
local files = require('mini.files')
files.setup({
content = {
filter = nil,
prefix = nil,
sort = nil,
},
mappings = {
close = 'q',
go_in = 'L',
go_in_plus = 'l',
go_out = 'h',
go_out_plus = 'H',
mark_goto = "'",
mark_set = 'm',
reset = '<BS>',
reveal_cwd = '@',
show_help = 'g?',
synchronize = '<CR>',
trim_left = '<',
trim_right = '>',
},
options = {
permanent_delete = true,
use_as_default_explorer = true,
},
windows = {
max_number = math.huge,
preview = false,
width_focus = 30,
width_nofocus = 20,
width_preview = 80,
},
})
vim.api.nvim_set_hl(0, 'MiniFilesBorder', { bg = 'none' })
vim.api.nvim_set_hl(0, 'MiniFilesNormal', { bg = 'none' })
vim.api.nvim_set_hl(0, 'MiniFilesTitle', { bg = 'none' })
+20
View File
@@ -0,0 +1,20 @@
local neotest = require('neotest')
neotest.setup({
adapters = {
require('neotest-rspec')({
rspec_cmd = function()
return vim.tbl_flatten({
'bundle',
'exec',
'rspec',
})
end,
}),
require('neotest-jest')({
jestCommand = 'npx jest --',
jestConfigFile = 'jest.config.js',
}),
require('neotest-python'),
},
})
-10
View File
@@ -1,10 +0,0 @@
local spider = require('spider')
spider.setup({
skipInsignificantPunctuation = true,
})
vim.keymap.set({ 'n', 'o', 'x' }, 'w', "<cmd>lua require('spider').motion('w')<CR>", { desc = 'Spider-w' })
vim.keymap.set({ 'n', 'o', 'x' }, 'e', "<cmd>lua require('spider').motion('e')<CR>", { desc = 'Spider-e' })
vim.keymap.set({ 'n', 'o', 'x' }, 'b', "<cmd>lua require('spider').motion('b')<CR>", { desc = 'Spider-b' })
vim.keymap.set({ 'n', 'o', 'x' }, 'ge', "<cmd>lua require('spider').motion('ge')<CR>", { desc = 'Spider-ge' })
-22
View File
@@ -1,22 +0,0 @@
local tabout = require('tabout')
tabout.setup({
tabkey = '<tab>',
backwards_tabkey = '<s-tab>',
act_as_tab = true,
act_as_shift_tab = true,
default_tab = '<C-t>',
default_shift_tab = '<C-d>',
enable_backwards = false,
completion = true,
tabouts = {
{ open = "'", close = "'" },
{ open = '"', close = '"' },
{ open = '`', close = '`' },
{ open = '(', close = ')' },
{ open = '[', close = ']' },
{ open = '{', close = '}' },
},
ignore_beginning = true,
exclude = { 'markdown' },
})
-13
View File
@@ -115,18 +115,6 @@ telescope.setup({
override_file_sorter = true,
case_mode = 'smart_case',
},
file_browser = {
theme = 'ivy',
hijack_netrw = true,
mappings = {
['i'] = {
-- your custom insert mode mappings
},
['n'] = {
-- your custom normal mode mappings
},
},
},
undo = {
use_delta = true,
use_custom_command = nil,
@@ -156,4 +144,3 @@ telescope.load_extension('fzf')
telescope.load_extension('undo')
telescope.load_extension('marks_nvim')
telescope.load_extension('refactoring')
telescope.load_extension('file_browser')
+10 -52
View File
@@ -39,19 +39,6 @@ local setup = {
local normal_mappings = {
mode = 'n',
{ '<leader>a', group = ' AI' },
{ '<leader>aF', '<cmd>CopilotChatFixDiagnostic<cr>', desc = 'Fix Diagnostic' },
{ '<leader>aG', '<cmd>CopilotChatCommitStaged<cr>', desc = 'Commit Staged' },
{ '<leader>ac', '<cmd>CopilotChatToggle<cr>', desc = 'Copilot Chat' },
{ '<leader>ad', '<cmd>CopilotChatDocs<cr>', desc = 'Docs' },
{ '<leader>ae', '<cmd>CopilotChatExplain<cr>', desc = 'Explain' },
{ '<leader>af', '<cmd>CopilotChatFix<cr>', desc = 'Fix' },
{ '<leader>ag', '<cmd>CopilotChatCommit<cr>', desc = 'Commit' },
{ '<leader>al', '<cmd>CopilotChatLoad<cr>', desc = 'Load Chat' },
{ '<leader>ao', '<cmd>CopilotChatOptimize<cr>', desc = 'Optimize' },
{ '<leader>ar', '<cmd>CopilotChatReview<cr>', desc = 'Review' },
{ '<leader>as', '<cmd>CopilotChatSave<cr>', desc = 'Save Chat' },
{ '<leader>at', '<cmd>CopilotChatTests<cr>', desc = 'Tests' },
{ '<leader>b', group = ' Debug' },
{ '<leader>bO', '<cmd>DapStepOut<cr>', desc = 'Out' },
@@ -73,7 +60,6 @@ local normal_mappings = {
{ '<leader>cd', '<cmd>RootDir<cr>', desc = 'Root Directory' },
{ '<leader>ce', '<cmd>%SnipRun<cr>', desc = 'Execute File' },
{ '<leader>cf', '<cmd>lua vim.lsp.buf.format({async = true})<cr>', desc = 'Format File' },
{ '<leader>ch', '<cmd>Hardtime toggle<cr>', desc = 'Hardtime' },
{ '<leader>cl', '<cmd>:g/^\\s*$/d<cr>', desc = 'Clean Empty Lines' },
{ '<leader>cm', '<cmd>MarkdownPreviewToggle<cr>', desc = 'Markdown Preview' },
{ '<leader>cn', '<cmd>lua require("snacks").notifier.show_history()<cr>', desc = 'Notifications' },
@@ -118,10 +104,6 @@ local normal_mappings = {
{ '<leader>ecn', '<cmd>e $MYVIMRC<cr>', desc = 'Neovim Init' },
{ '<leader>ecp', '<cmd>e ~/dotfiles/nvim/lua/plugins/list.lua<cr>', desc = 'Plugin List' },
{ '<leader>ect', '<cmd>e ~/dotfiles/tmux/tmux.conf<cr>', desc = 'Tmux Config' },
{ '<leader>ee', ':Neotree toggle float<CR>', silent = true, desc = 'Float File Explorer' },
{ '<leader>eE', ':Neotree toggle left<CR>', silent = true, desc = 'Left File Explorer' },
{ '<leader>ef', '<cmd>Telescope file_browser<cr>', desc = 'File Browser' },
{ '<leader>eF', 'gf', desc = 'File Under Cursor' },
{ '<leader>em', '<cmd>e README.md<cr>', desc = 'Readme' },
{ '<leader>en', '<cmd>enew<cr>', desc = 'New File' },
@@ -428,17 +410,6 @@ end
local visual_mappings = {
mode = 'v',
{ '<leader>a', group = ' AI' },
{ '<leader>aF', '<cmd>CopilotChatFixDiagnostic<cr>', desc = 'Fix Diagnostic' },
{ '<leader>aG', '<cmd>CopilotChatCommitStaged<cr>', desc = 'Commit Staged' },
{ '<leader>ac', '<cmd>CopilotChatToggle<cr>', desc = 'Copilot Chat' },
{ '<leader>ad', '<cmd>CopilotChatDocs<cr>', desc = 'Docs' },
{ '<leader>ae', '<cmd>CopilotChatExplain<cr>', desc = 'Explain' },
{ '<leader>af', '<cmd>CopilotChatFix<cr>', desc = 'Fix' },
{ '<leader>ag', '<cmd>CopilotChatCommit<cr>', desc = 'Commit' },
{ '<leader>ao', '<cmd>CopilotChatOptimize<cr>', desc = 'Optimize' },
{ '<leader>ar', '<cmd>CopilotChatReview<cr>', desc = 'Review' },
{ '<leader>at', '<cmd>CopilotChatTests<cr>', desc = 'Tests' },
{ '<leader>c', group = ' Code' },
{ '<leader>ce', "<esc><cmd>'<,'>SnipRun<cr>", desc = 'Execute Selection' },
@@ -540,43 +511,30 @@ local no_leader_mappings = {
{ '<C-l>', '<C-w>l', desc = 'Move Right' },
{ '<C-\\>', '<C-w>p', desc = 'Previous Pane' },
{ '<S-tab>', '<cmd>bprevious<cr>', desc = 'Previous Buffer' },
{ '<tab>', '<cmd>bnext<cr>', desc = 'Next Buffer' },
{ '<S-h>', '<cmd>bprevious<cr>', desc = 'Previous Buffer' },
{ '<S-l>', '<cmd>bnext<cr>', desc = 'Next Buffer' },
{ 'K', '<cmd>Lspsaga hover_doc<cr>', desc = 'LSP Hover' },
{ 'Q', '<cmd>qall!<cr>', desc = 'Force Quit!' },
{ 'U', '<cmd>redo<cr>', desc = 'Redo' },
{ '[', group = ' Previous' },
{ '[B', '<cmd>bfirst<cr>', desc = 'First Buffer' },
{ '[b', '<cmd>bprevious<cr>', desc = 'Buffer' },
{ '[d', '<cmd>Lspsaga diagnostic_jump_prev<cr>', desc = 'Diagnostic' },
{ '[g', '<cmd>Gitsigns prev_hunk<cr>', desc = 'Git Hunk' },
{ '[j', '<C-o>', desc = 'Jump' },
{ '[q', '<cmd>cprev<cr>', desc = 'Quickfix' },
{ '[o', group = 'Textobjects' },
{ ']', group = ' Next' },
{ ']B', '<cmd>blast<cr>', desc = 'Buffer' },
{ ']b', '<cmd>bnext<cr>', desc = 'Buffer' },
{ ']d', '<cmd>Lspsaga diagnostic_jump_next<cr>', desc = 'Diagnostic' },
{ ']g', '<cmd>Gitsigns next_hunk<cr>', desc = 'Git Hunk' },
{ ']j', '<C-i>', desc = 'Jump' },
{ ']q', '<cmd>cnext<cr>', desc = 'Quickfix' },
{ ']o', group = 'Textobjects' },
}
local tmux_mappings = {
{ '<C-h>', '<cmd>NavigatorLeft<cr>', desc = 'Move Left' },
{ '<C-j>', '<cmd>NavigatorDown<cr>', desc = 'Move Down' },
{ '<C-k>', '<cmd>NavigatorUp<cr>', desc = 'Move Up' },
{ '<C-l>', '<cmd>NavigatorRight<cr>', desc = 'Move Right' },
{ '<C-\\>', '<cmd>NavigatorPrevious<cr>', desc = 'Previous Pane' },
}
if vim.fn.exists('$TMUX') == 1 then
vim.tbl_extend('force', no_leader_mappings, tmux_mappings)
end
local user_keybindings = require('lib.util').get_user_config('user_keybindings', {})
which_key.setup(setup)
which_key.add(normal_mappings)
which_key.add(visual_mappings)
which_key.add(no_leader_mappings)
if vim.fn.exists('$TMUX') == 1 then
which_key.add(tmux_mappings)
end
which_key.add(user_keybindings)