mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2025-12-05 02:53:38 -08:00
update
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -1,101 +1,107 @@
|
|||||||
return {
|
return {
|
||||||
"j-hui/fidget.nvim",
|
"j-hui/fidget.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
-- text = {
|
-- text = {
|
||||||
-- spinner = "pipe", -- animation shown when tasks are ongoing
|
-- spinner = "pipe", -- animation shown when tasks are ongoing
|
||||||
-- done = "✔", -- character shown when all tasks are complete
|
-- done = "✔", -- character shown when all tasks are complete
|
||||||
-- commenced = "Started", -- message shown when task starts
|
-- commenced = "Started", -- message shown when task starts
|
||||||
-- completed = "Completed", -- message shown when task completes
|
-- completed = "Completed", -- message shown when task completes
|
||||||
-- },
|
-- },
|
||||||
-- align = {
|
-- align = {
|
||||||
-- bottom = true, -- align fidgets along bottom edge of buffer
|
-- bottom = true, -- align fidgets along bottom edge of buffer
|
||||||
-- right = true, -- align fidgets along right edge of buffer
|
-- right = true, -- align fidgets along right edge of buffer
|
||||||
-- },
|
-- },
|
||||||
progress = {
|
progress = {
|
||||||
poll_rate = 0, -- How and when to poll for progress messages
|
poll_rate = 0, -- How and when to poll for progress messages
|
||||||
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)
|
||||||
ignore = {}, -- List of LSP servers to ignore
|
return msg.lsp_client.name
|
||||||
|
end,
|
||||||
|
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
|
||||||
display = {
|
display = {
|
||||||
render_limit = 16, -- How many LSP messages to show at once
|
render_limit = 16, -- How many LSP messages to show at once
|
||||||
done_ttl = 3, -- How long a message should persist after completion
|
done_ttl = 3, -- How long a message should persist after completion
|
||||||
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,
|
||||||
overrides = { -- Override options from the default notification config
|
-- How to format a progress notification group's name
|
||||||
rust_analyzer = { name = "rust-analyzer" },
|
format_group_name = function(group)
|
||||||
},
|
return tostring(group)
|
||||||
},
|
end,
|
||||||
|
overrides = { -- Override options from the default notification config
|
||||||
|
rust_analyzer = { name = "rust-analyzer" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- Options related to Neovim's built-in LSP client
|
-- Options related to Neovim's built-in LSP client
|
||||||
lsp = {
|
lsp = {
|
||||||
progress_ringbuf_size = 0, -- Configure the nvim's LSP progress ring buffer size
|
progress_ringbuf_size = 0, -- Configure the nvim's LSP progress ring buffer size
|
||||||
log_handler = false, -- Log `$/progress` handler invocations (for debugging)
|
log_handler = false, -- Log `$/progress` handler invocations (for debugging)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
notification = {
|
notification = {
|
||||||
window = {
|
window = {
|
||||||
winblend = 0,
|
winblend = 0,
|
||||||
},
|
},
|
||||||
poll_rate = 10, -- How frequently to update and render notifications
|
poll_rate = 10, -- How frequently to update and render notifications
|
||||||
filter = vim.log.levels.INFO, -- Minimum notifications level
|
filter = vim.log.levels.INFO, -- Minimum notifications level
|
||||||
history_size = 128, -- Number of removed messages to retain in history
|
history_size = 128, -- Number of removed messages to retain in history
|
||||||
override_vim_notify = false, -- Automatically override vim.notify() with Fidget
|
override_vim_notify = false, -- Automatically override vim.notify() with Fidget
|
||||||
-- How to configure notification groups when instantiated
|
-- How to configure notification groups when instantiated
|
||||||
configs = { default = require("fidget.notification").default_config },
|
configs = { default = require("fidget.notification").default_config },
|
||||||
-- Conditionally redirect notifications to another backend
|
-- Conditionally redirect notifications to another backend
|
||||||
redirect = function(msg, level, opts)
|
redirect = function(msg, level, opts)
|
||||||
if opts and opts.on_open then
|
if opts and opts.on_open then
|
||||||
return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
|
return require("fidget.integration.nvim-notify").delegate(msg, level, opts)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
|
||||||
-- Options related to how notifications are rendered as text
|
-- Options related to how notifications are rendered as text
|
||||||
view = {
|
view = {
|
||||||
stack_upwards = true, -- Display notification items from bottom to top
|
stack_upwards = true, -- Display notification items from bottom to top
|
||||||
icon_separator = " ", -- Separator between group name and icon
|
icon_separator = " ", -- Separator between group name and icon
|
||||||
group_separator = "---", -- Separator between notification groups
|
group_separator = "---", -- Separator between notification groups
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
integration = {
|
integration = {
|
||||||
["nvim-tree"] = {
|
["nvim-tree"] = {
|
||||||
enable = true, -- Integrate with nvim-tree/nvim-tree.lua (if installed)
|
enable = true, -- Integrate with nvim-tree/nvim-tree.lua (if installed)
|
||||||
},
|
},
|
||||||
["xcodebuild-nvim"] = {
|
["xcodebuild-nvim"] = {
|
||||||
enable = false, -- Integrate with wojciech-kulik/xcodebuild.nvim (if installed)
|
enable = false, -- Integrate with wojciech-kulik/xcodebuild.nvim (if installed)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- Options related to logging
|
-- Options related to logging
|
||||||
logger = {
|
logger = {
|
||||||
level = vim.log.levels.WARN, -- Minimum logging level
|
level = vim.log.levels.WARN, -- Minimum logging level
|
||||||
max_size = 10000, -- Maximum log file size, in KB
|
max_size = 10000, -- Maximum log file size, in KB
|
||||||
float_precision = 0.01, -- Limit the number of decimals displayed for floats
|
float_precision = 0.01, -- Limit the number of decimals displayed for floats
|
||||||
-- Where Fidget writes its logs to
|
-- Where Fidget writes its logs to
|
||||||
path = string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache")),
|
path = string.format("%s/fidget.nvim.log", vim.fn.stdpath("cache")),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,35 +93,24 @@ 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, {
|
||||||
analysis = {
|
on_init = function(client)
|
||||||
autoSearchPaths = true,
|
client.config.settings.basedpyright =
|
||||||
diagnosticMode = "openFilesOnly",
|
vim.tbl_deep_extend("force", client.config.settings.basedpyright, {
|
||||||
useLibraryCodeForTypes = true,
|
analysis = {
|
||||||
autoFormatStrings = true,
|
autoSearchPaths = true,
|
||||||
},
|
diagnosticMode = "openFilesOnly",
|
||||||
diagnosticMode = "openFilesOnly",
|
useLibraryCodeForTypes = true,
|
||||||
inlayHints = {
|
autoFormatStrings = true,
|
||||||
callArgumentNames = true,
|
},
|
||||||
},
|
diagnosticMode = "openFilesOnly",
|
||||||
allowedUntypedLibraries = true,
|
inlayHints = {
|
||||||
reportMissingTypeStubs = false,
|
callArgumentNames = true,
|
||||||
reportImportCycles = true,
|
},
|
||||||
reportUnusedImport = true,
|
allowedUntypedLibraries = true,
|
||||||
on_attach = function(client, bufnr)
|
reportMissingTypeStubs = true,
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, "LspPyrightOrganizeImports", function()
|
reportImportCycles = true,
|
||||||
client:exec_cmd({
|
reportUnusedImport = true,
|
||||||
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,
|
||||||
})
|
})
|
||||||
vim.lsp.enable(lsp)
|
vim.lsp.enable(lsp)
|
||||||
|
|||||||
Reference in New Issue
Block a user