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

+1 -16
View File
@@ -23,23 +23,8 @@ blink.setup({
kind_icons = icons.kind,
},
sources = {
default = { 'lazydev', 'lsp', 'path', 'snippets', 'buffer', 'copilot' },
default = { 'lazydev', 'lsp', 'path', 'snippets', 'buffer' },
providers = {
copilot = {
name = 'copilot',
module = 'blink-cmp-copilot',
score_offset = 90,
async = true,
transform_items = function(_, items)
local CompletionItemKind = require('blink.cmp.types').CompletionItemKind
local kind_idx = #CompletionItemKind + 1
CompletionItemKind[kind_idx] = 'Copilot'
for _, item in ipairs(items) do
item.kind = kind_idx
end
return items
end,
},
lazydev = {
name = 'LazyDev',
module = 'lazydev.integrations.blink',
+18
View File
@@ -0,0 +1,18 @@
local bracketed = require('mini.bracketed')
bracketed.setup({
buffer = { suffix = 'b', options = {} },
comment = { suffix = 'c', options = {} },
conflict = { suffix = 'x', options = {} },
diagnostic = { suffix = 'd', options = {} },
file = { suffix = 'f', options = {} },
indent = { suffix = 'i', options = {} },
jump = { suffix = 'j', options = {} },
location = { suffix = 'l', options = {} },
oldfile = { suffix = 'r', options = {} },
quickfix = { suffix = 'q', options = {} },
treesitter = { suffix = 'n', options = {} },
undo = { suffix = 'u', options = {} },
window = { suffix = 'w', options = {} },
yank = { suffix = 'y', options = {} },
})
-92
View File
@@ -1,92 +0,0 @@
local chat = require('CopilotChat')
local icons = require('lib.icons')
chat.setup({
debug = false, -- Enable debug logging
proxy = nil, -- [protocol://]host[:port] Use this proxy
allow_insecure = false, -- Allow insecure server connections
model = 'gpt-4o', -- model to use, :CopilotChatModels for available models
agent = 'copilot', -- Default agent to use, see ':CopilotChatAgents' for available agents (can be specified manually in prompt via @).
context = 'buffers', -- Default context to use, 'buffers', 'buffer' or none (can be specified manually in prompt via @).
temperature = 0.1, -- temperature
question_header = '# ' .. icons.ui.User .. 'User', -- Header to use for user questions
answer_header = '# ' .. icons.ui.Copilot .. 'Copilot', -- Header to use for AI answers
error_header = '## ' .. icons.ui.CopilotError .. 'Error', -- Header to use for errors
separator = ' ', -- Separator to use in chat
show_folds = true, -- Shows folds for sections in chat
show_help = true, -- Shows help message as virtual lines when waiting for user input
auto_follow_cursor = false, -- Auto-follow cursor in chat
auto_insert_mode = false, -- Automatically enter insert mode when opening window and if auto follow cursor is enabled on new prompt
clear_chat_on_new_prompt = false, -- Clears chat on every new prompt
highlight_selection = true, -- Highlight selection in the source buffer when in the chat window
chat_autocomplete = true, -- Enable chat autocompletion (when disabled, requires manual `mappings.complete` trigger)
history_path = vim.fn.stdpath('data') .. '/copilot_chat_history', -- Default path to stored history
callback = nil, -- Callback to use when ask response is received
-- default window options
window = {
layout = 'vertical', -- 'vertical', 'horizontal', 'float', 'replace'
width = 0.45, -- fractional width of parent, or absolute width in columns when > 1
height = 0.4, -- fractional height of parent, or absolute height in rows when > 1
-- Options below only apply to floating windows
relative = 'editor', -- 'editor', 'win', 'cursor', 'mouse'
border = 'rounded', -- 'none', single', 'double', 'rounded', 'solid', 'shadow'
row = nil, -- row position of the window, default is centered
col = nil, -- column position of the window, default is centered
title = icons.ui.Copilot .. ' Copilot Chat', -- title of chat window
footer = nil, -- footer of chat window
zindex = 1, -- determines if window is on top or below other floating windows
},
-- default mappings
mappings = {
complete = {
insert = '<Tab>',
},
close = {
normal = 'q',
insert = '<C-c>',
},
reset = {
normal = '<C-r>',
insert = '<C-r>',
},
submit_prompt = {
normal = '<CR>',
insert = '<C-s>',
},
toggle_sticky = {
detail = 'Makes line under cursor sticky or deletes sticky line.',
normal = 'gr',
},
accept_diff = {
normal = '<C-y>',
insert = '<C-y>',
},
jump_to_diff = {
normal = 'gj',
},
quickfix_diffs = {
normal = 'gq',
},
yank_diff = {
normal = 'gy',
register = '"',
},
show_diff = {
normal = 'gd',
},
show_info = {
normal = 'gi',
},
show_context = {
normal = 'gc',
},
show_help = {
normal = 'gh',
},
},
})
-45
View File
@@ -1,45 +0,0 @@
local copilot = require('copilot')
copilot.setup({
panel = {
enabled = true,
auto_refresh = false,
keymap = {
jump_prev = '[[',
jump_next = ']]',
accept = '<CR>',
refresh = 'gr',
open = '<M-CR>',
},
layout = {
position = 'bottom',
ratio = 0.4,
},
},
suggestion = {
enabled = true,
auto_trigger = false,
debounce = 75,
keymap = {
accept = '<M-l>',
accept_word = false,
accept_line = false,
next = '<M-]>',
prev = '<M-[>',
dismiss = '<C-]>',
},
},
filetypes = {
yaml = true,
markdown = true,
help = true,
gitcommit = true,
gitrebase = true,
hgcommit = true,
svn = true,
cvs = true,
['.'] = true,
},
copilot_node_command = 'node', -- Node.js version must be > 16.x
server_opts_overrides = {},
})
-107
View File
@@ -1,107 +0,0 @@
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, {})
-20
View File
@@ -1,20 +0,0 @@
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'),
},
})
+18
View File
@@ -0,0 +1,18 @@
local pairs = require('mini.pairs')
pairs.setup({
modes = { insert = true, command = true, terminal = false },
mappings = {
['('] = { action = 'open', pair = '()', neigh_pattern = '[^\\].' },
['['] = { action = 'open', pair = '[]', neigh_pattern = '[^\\].' },
['{'] = { action = 'open', pair = '{}', neigh_pattern = '[^\\].' },
[')'] = { action = 'close', pair = '()', neigh_pattern = '[^\\].' },
[']'] = { action = 'close', pair = '[]', neigh_pattern = '[^\\].' },
['}'] = { action = 'close', pair = '{}', neigh_pattern = '[^\\].' },
['"'] = { action = 'closeopen', pair = '""', neigh_pattern = '[^\\].', register = { cr = false } },
["'"] = { action = 'closeopen', pair = "''", neigh_pattern = '[^%a\\].', register = { cr = false } },
['`'] = { action = 'closeopen', pair = '``', neigh_pattern = '[^\\].', register = { cr = false } },
},
})
-20
View File
@@ -1,20 +0,0 @@
local ror = require('ror')
local icons = require('lib.icons')
ror.setup({
test = {
message = {
file = 'Running test file...',
line = 'Running single test...',
},
coverage = {
up = 'DiffAdd',
down = 'DiffDelete',
},
notification = {
timeout = false,
},
pass_icon = icons.ui.Check,
fail_icon = icons.ui.Close,
},
})
+10
View File
@@ -0,0 +1,10 @@
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' })
+33 -32
View File
@@ -52,52 +52,52 @@ local textobjects = {
enable = true,
swap_next = {
['<leader>rna'] = '@parameter.inner', -- swap object property with next
['<leader>rn:'] = '@property.outer', -- swap parameters/argument with next
['<leader>rnm'] = '@function.outer', -- swap function with next
['<leader>rn:'] = '@property.outer', -- swap parameters/argument with next
['<leader>rnm'] = '@function.outer', -- swap function with next
},
swap_previous = {
['<leader>rpa'] = '@parameter.inner', -- swap parameters/argument with prev
['<leader>rp:'] = '@property.outer', -- swap object property with prev
['<leader>rpm'] = '@function.outer', -- swap function with previous
['<leader>rp:'] = '@property.outer', -- swap object property with prev
['<leader>rpm'] = '@function.outer', -- swap function with previous
},
},
move = {
enable = true,
set_jumps = true, -- whether to set jumps in the jumplist
goto_next_start = {
[']c'] = { query = '@class.outer', desc = 'Next class start' },
[']f'] = { query = '@call.outer', desc = 'Next function call start' },
[']i'] = { query = '@conditional.outer', desc = 'Next conditional start' },
[']l'] = { query = '@loop.outer', desc = 'Next loop start' },
[']m'] = { query = '@function.outer', desc = 'Next method/function def start' },
[']z'] = { query = '@fold', query_group = 'folds', desc = 'Next fold' },
goto_previous_start = {
['[oc'] = { query = '@class.outer', desc = 'Prev class start' },
['[of'] = { query = '@call.outer', desc = 'Prev function call start' },
['[oi'] = { query = '@conditional.outer', desc = 'Prev conditional start' },
['[ol'] = { query = '@loop.outer', desc = 'Prev loop start' },
['[om'] = { query = '@function.outer', desc = 'Prev method def start' },
['[z'] = { query = '@fold', query_group = 'folds', desc = 'Prev fold' },
-- You can pass a query group to use query from `queries/<lang>/<query_group>.scm file in your runtime path.
-- Above example nvim-treesitter's folds.scm`. They also provide locals.scm, highlights.scm and indent.scm.
},
goto_next_end = {
[']C'] = { query = '@class.outer', desc = 'Next class end' },
[']F'] = { query = '@call.outer', desc = 'Next function call end' },
[']I'] = { query = '@conditional.outer', desc = 'Next conditional end' },
[']L'] = { query = '@loop.outer', desc = 'Next loop end' },
[']M'] = { query = '@function.outer', desc = 'Next method/function def end' },
[']Z'] = { query = '@fold', query_group = 'folds', desc = 'Next fold end' },
},
goto_previous_start = {
['[c'] = { query = '@class.outer', desc = 'Prev class start' },
['[f'] = { query = '@call.outer', desc = 'Prev function call start' },
['[i'] = { query = '@conditional.outer', desc = 'Prev conditional start' },
['[l'] = { query = '@loop.outer', desc = 'Prev loop start' },
['[m'] = { query = '@function.outer', desc = 'Prev method/function def start' },
['[z'] = { query = '@fold', query_group = 'folds', desc = 'Prev fold' },
},
goto_previous_end = {
['[C'] = { query = '@class.outer', desc = 'Prev class end' },
['[F'] = { query = '@call.outer', desc = 'Prev function call end' },
['[I'] = { query = '@conditional.outer', desc = 'Prev conditional end' },
['[L'] = { query = '@loop.outer', desc = 'Prev loop end' },
['[M'] = { query = '@function.outer', desc = 'Prev method/function def end' },
['[oC'] = { query = '@class.outer', desc = 'Prev class end' },
['[oF'] = { query = '@call.outer', desc = 'Prev function call end' },
['[oI'] = { query = '@conditional.outer', desc = 'Prev conditional end' },
['[oL'] = { query = '@loop.outer', desc = 'Prev loop end' },
['[oM'] = { query = '@function.outer', desc = 'Prev method def end' },
['[Z'] = { query = '@fold', query_group = 'folds', desc = 'Prev fold end' },
},
goto_next_start = {
[']oc'] = { query = '@class.outer', desc = 'Next class start' },
[']of'] = { query = '@call.outer', desc = 'Next function call start' },
[']oi'] = { query = '@conditional.outer', desc = 'Next conditional start' },
[']ol'] = { query = '@loop.outer', desc = 'Next loop start' },
[']om'] = { query = '@function.outer', desc = 'Next method def start' },
[']z'] = { query = '@fold', query_group = 'folds', desc = 'Next fold' },
},
goto_next_end = {
[']oC'] = { query = '@class.outer', desc = 'Next class end' },
[']oF'] = { query = '@call.outer', desc = 'Next function call end' },
[']oI'] = { query = '@conditional.outer', desc = 'Next conditional end' },
[']oL'] = { query = '@loop.outer', desc = 'Next loop end' },
[']oM'] = { query = '@function.outer', desc = 'Next method def end' },
[']Z'] = { query = '@fold', query_group = 'folds', desc = 'Next fold end' },
},
},
}
@@ -114,3 +114,4 @@ vim.keymap.set({ 'n', 'x', 'o' }, 't', ts_repeat_move.builtin_t)
vim.keymap.set({ 'n', 'x', 'o' }, 'T', ts_repeat_move.builtin_T)
return textobjects
+1 -3
View File
@@ -14,9 +14,6 @@ treesitter.setup({
auto_install = true,
textobjects = textobjects,
autopairs = { enable = true },
endwise = { enable = true },
autotag = { enable = true },
matchup = { enable = true },
indent = { enable = true },
@@ -82,3 +79,4 @@ treesitter.setup({
},
},
})