This commit is contained in:
kyasuda
2025-08-20 18:18:51 -07:00
parent 441ab51f62
commit efe301850a
3 changed files with 142 additions and 131 deletions

View File

@@ -6,7 +6,7 @@ local term_factory = term.term_factory
local term_toggle = term.term_toggle local term_toggle = term.term_toggle
local opts = { silent = true, noremap = true } local opts = { silent = true, noremap = true }
local nosilent = { noremap = true } local nosilent = { silent = false, noremap = true }
-- Leader key -- Leader key
vim.g.mapleader = " " vim.g.mapleader = " "
@@ -199,23 +199,37 @@ local lsp_mappings = {
group = "Goto Previous Preview", group = "Goto Previous Preview",
}, },
{ mode = "n", key = "<leader>cl", cmd = ":lua vim.diagnostic.setloclist()<CR>", group = "Set Loclist" }, { mode = "n", key = "<leader>cl", cmd = ":lua vim.diagnostic.setloclist()<CR>", group = "Set Loclist" },
{
mode = "n",
key = "<leader>cPs",
cmd = function()
vim.cmd("!pyright --createstub " .. vim.fn.expand("<cword>"))
end,
group = "Generate Stub File",
},
} }
-- }}} -- }}}
-- {{{ Code Companion Mappings -- {{{ Code Companion Mappings
local code_companion_mappings = { local code_companion_mappings = {
{ mode = "n", key = "<leader>cp", cmd = ":vert Copilot panel<CR>", group = "Code" }, { mode = "n", key = "<leader>cp", cmd = ":vert Copilot panel<CR>", group = "Copilot Panel" },
{ mode = "n", key = "<leader>oc", cmd = ":CodeCompanionChat Toggle<CR>", group = "Open" }, { mode = "n", key = "<leader>oc", cmd = ":CodeCompanionChat Toggle<CR>", group = "Toggle Codecompanion" },
{ mode = "n", key = "<leader>Cc", cmd = ":CodeCompanionChat Toggle<CR>", group = "CodeCompanionChat" }, { mode = "n", key = "<leader>Cc", cmd = ":CodeCompanionChat Toggle<CR>", group = "Toggle Codecompanion" },
{ mode = "n", key = "<leader>Ci", cmd = ":CodeCompanion ", group = "Inline CodeCompanion", opts = nosilent }, {
mode = "n",
key = "<leader>Ci",
cmd = ":CodeCompanion #{buffer} ",
group = "Inline CodeCompanion",
opts = nosilent,
},
{ mode = "n", key = "<leader>CT", cmd = ":CodeCompanionChat Toggle<CR>", group = "CodeCompanion Toggle" }, { mode = "n", key = "<leader>CT", cmd = ":CodeCompanionChat Toggle<CR>", group = "CodeCompanion Toggle" },
{ mode = "n", key = "<leader>Ca", cmd = ":CodeCompanionActions<CR>", group = "CodeCompanion Actions" }, { mode = "n", key = "<leader>Ca", cmd = ":CodeCompanionActions<CR>", group = "CodeCompanion Actions" },
{ mode = "v", key = "<leader>Cc", cmd = ":CodeCompanionChat Add<CR>", group = "CodeCompanion Add" }, { mode = "v", key = "<leader>Cc", cmd = ":CodeCompanionChat Add<CR>", group = "CodeCompanion Add" },
{ {
mode = "v", mode = "v",
key = "<leader>Ci", key = "<leader>Ci",
cmd = ":CodeCompanion #buffer ", cmd = ":CodeCompanion #{buffer} ",
group = "CodeCompanion #buffer", group = "CodeCompanion #{buffer}",
opts = nosilent, opts = nosilent,
}, },
{ mode = "v", key = "<leader>Ce", cmd = ":CodeCompanion /explain<CR>", group = "CodeCompanion /explain" }, { mode = "v", key = "<leader>Ce", cmd = ":CodeCompanion /explain<CR>", group = "CodeCompanion /explain" },
@@ -537,6 +551,7 @@ add_to_whichkey(nil, { key = "<leader>a", group = "AnyJump" })
add_to_whichkey(nil, { key = "<leader>b", group = "Buffers" }) add_to_whichkey(nil, { key = "<leader>b", group = "Buffers" })
add_to_whichkey(nil, { key = "<leader>c", group = "Code" }) add_to_whichkey(nil, { key = "<leader>c", group = "Code" })
add_to_whichkey(nil, { key = "<leader>ca", group = "Code Actions" }) add_to_whichkey(nil, { key = "<leader>ca", group = "Code Actions" })
add_to_whichkey(nil, { key = "<leader>cc", group = "Calls" })
add_to_whichkey(nil, { key = "<leader>C", group = "CodeCompanion" }) add_to_whichkey(nil, { key = "<leader>C", group = "CodeCompanion" })
add_to_whichkey(nil, { key = "<leader>d", group = "ODIS" }) add_to_whichkey(nil, { key = "<leader>d", group = "ODIS" })
add_to_whichkey(nil, { key = "<leader>f", group = "Find" }) add_to_whichkey(nil, { key = "<leader>f", group = "Find" })
@@ -555,6 +570,7 @@ add_to_whichkey(nil, { key = "<leader>w", group = "Workspace" })
add_to_whichkey(nil, { key = "<leader>x", group = "Make Executable" }) add_to_whichkey(nil, { key = "<leader>x", group = "Make Executable" })
add_to_whichkey(nil, { key = "<leader>y", group = "System Yank" }) add_to_whichkey(nil, { key = "<leader>y", group = "System Yank" })
add_to_whichkey(nil, { key = "<leader>0", group = "Horizontal Terminal" }) add_to_whichkey(nil, { key = "<leader>0", group = "Horizontal Terminal" })
add_to_whichkey(nil, { key = "<leader>cP", group = "Python" })
--}}} --}}}
--{{{ Whichkey Mappings --{{{ Whichkey Mappings

View File

@@ -16,13 +16,15 @@ return {
suppress_on_insert = false, -- Suppress new messages while in insert mode suppress_on_insert = false, -- Suppress new messages while in insert mode
ignore_done_already = false, -- Ignore new tasks that are already complete ignore_done_already = false, -- Ignore new tasks that are already complete
ignore_empty_message = false, -- Ignore new tasks that don't contain a message ignore_empty_message = false, -- Ignore new tasks that don't contain a message
clear_on_detach = -- Clear notification group when LSP server detaches -- Clear notification group when LSP server detaches
function(client_id) clear_on_detach = function(client_id)
local client = vim.lsp.get_client_by_id(client_id) local client = vim.lsp.get_client_by_id(client_id)
return client and client.name or nil return client and client.name or nil
end, end,
notification_group = -- How to get a progress message's notification group key -- How to get a progress message's notification group key
function(msg) return msg.lsp_client.name end, notification_group = function(msg)
return msg.lsp_client.name
end,
ignore = {}, -- List of LSP servers to ignore ignore = {}, -- List of LSP servers to ignore
-- Options related to how LSP progress messages are displayed as notifications -- Options related to how LSP progress messages are displayed as notifications
@@ -32,20 +34,24 @@ return {
done_icon = "", -- Icon shown when all LSP progress tasks are complete done_icon = "", -- Icon shown when all LSP progress tasks are complete
done_style = "Constant", -- Highlight group for completed LSP tasks done_style = "Constant", -- Highlight group for completed LSP tasks
progress_ttl = math.huge, -- How long a message should persist when in progress progress_ttl = math.huge, -- How long a message should persist when in progress
progress_icon = -- Icon shown when LSP progress tasks are in progress -- Icon shown when LSP progress tasks are in progress
{ "dots" }, progress_icon = { "dots" },
progress_style = -- Highlight group for in-progress LSP tasks -- Highlight group for in-progress LSP tasks
"WarningMsg", progress_style = "WarningMsg",
group_style = "Title", -- Highlight group for group name (LSP server name) group_style = "Title", -- Highlight group for group name (LSP server name)
icon_style = "Question", -- Highlight group for group icons icon_style = "Question", -- Highlight group for group icons
priority = 30, -- Ordering priority for LSP notification group priority = 30, -- Ordering priority for LSP notification group
skip_history = true, -- Whether progress notifications should be omitted from history skip_history = true, -- Whether progress notifications should be omitted from history
format_message = -- How to format a progress message -- How to format a progress message
require("fidget.progress.display").default_format_message, format_message = require("fidget.progress.display").default_format_message,
format_annote = -- How to format a progress annotation -- How to format a progress annotation
function(msg) return msg.title end, format_annote = function(msg)
format_group_name = -- How to format a progress notification group's name return msg.title
function(group) return tostring(group) end, end,
-- How to format a progress notification group's name
format_group_name = function(group)
return tostring(group)
end,
overrides = { -- Override options from the default notification config overrides = { -- Override options from the default notification config
rust_analyzer = { name = "rust-analyzer" }, rust_analyzer = { name = "rust-analyzer" },
}, },

View File

@@ -93,6 +93,9 @@ return {
vim.lsp.enable(lsp) vim.lsp.enable(lsp)
elseif lsp == "basedpyright" then elseif lsp == "basedpyright" then
vim.lsp.config(lsp, { vim.lsp.config(lsp, {
on_init = function(client)
client.config.settings.basedpyright =
vim.tbl_deep_extend("force", client.config.settings.basedpyright, {
analysis = { analysis = {
autoSearchPaths = true, autoSearchPaths = true,
diagnosticMode = "openFilesOnly", diagnosticMode = "openFilesOnly",
@@ -104,23 +107,9 @@ return {
callArgumentNames = true, callArgumentNames = true,
}, },
allowedUntypedLibraries = true, allowedUntypedLibraries = true,
reportMissingTypeStubs = false, reportMissingTypeStubs = true,
reportImportCycles = true, reportImportCycles = true,
reportUnusedImport = true, reportUnusedImport = true,
on_attach = function(client, bufnr)
vim.api.nvim_buf_create_user_command(bufnr, "LspPyrightOrganizeImports", function()
client:exec_cmd({
command = "basedpyright.organizeimports",
arguments = { vim.uri_from_bufnr(bufnr) },
})
end, {
desc = "Organize Imports",
})
vim.api.nvim_buf_create_user_command(bufnr, "LspPyrightSetPythonPath", set_python_path, {
desc = "Reconfigure basedpyright with the provided python path",
nargs = 1,
complete = "file",
}) })
end, end,
}) })