updates
This commit is contained in:
22 files changed
+408
-539
No files matched your search
@@ -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',
|
||||
|
||||
@@ -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 = {} },
|
||||
})
|
||||
@@ -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',
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -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 = {},
|
||||
})
|
||||
@@ -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, {})
|
||||
@@ -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'),
|
||||
},
|
||||
})
|
||||
@@ -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 } },
|
||||
},
|
||||
})
|
||||
@@ -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,
|
||||
},
|
||||
})
|
||||
@@ -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' })
|
||||
@@ -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
|
||||
|
||||
@@ -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({
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
Reference in new issue
Block a user