Compare commits
3 Commits
b254617843
...
8a87841d61
Author | SHA1 | Date | |
---|---|---|---|
8a87841d61 | |||
8e0951d696 | |||
398c2a8291 |
6
nix/base-system/flake.lock
generated
6
nix/base-system/flake.lock
generated
@ -1711,11 +1711,11 @@
|
|||||||
},
|
},
|
||||||
"unstable": {
|
"unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747312588,
|
"lastModified": 1751349533,
|
||||||
"narHash": "sha256-MmJvj6mlWzeRwKGLcwmZpKaOPZ5nJb/6al5CXqJsgjo=",
|
"narHash": "sha256-5XRh0mB06/7WYDLu9ZXsx1GhyvvNVZDtPyg34sUCLJs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b1bebd0fe266bbd1820019612ead889e96a8fa2d",
|
"rev": "bdfd0f2afcf764e531d0960c821ab070a6174b15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
url = "github:terrastruct/d2-vim";
|
url = "github:terrastruct/d2-vim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
# We need to pin to this version of treesitter because it breaks after this revision
|
|
||||||
roslyn-lsp = {
|
roslyn-lsp = {
|
||||||
url = "github:zaphar/roslyn.nvim/main";
|
url = "github:zaphar/roslyn.nvim/main";
|
||||||
flake = false;
|
flake = false;
|
||||||
@ -117,15 +116,13 @@
|
|||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
lorri = unstablePkgs.lorri;
|
lorri = unstablePkgs.lorri;
|
||||||
avante-nvim = unstablePkgs.vimPlugins.avante-nvim;
|
|
||||||
copilot-lua = unstablePkgs.vimPlugins.copilot-lua;
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
programs = with pkgs; {
|
programs = with unstablePkgs; {
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
neovim.vimAlias = true;
|
neovim.vimAlias = true;
|
||||||
neovim.viAlias = true;
|
neovim.viAlias = true;
|
||||||
#neovim.package = pkgs.custom-neovim;
|
neovim.package = unstablePkgs.neovim-unwrapped;
|
||||||
neovim.configure = {
|
neovim.configure = {
|
||||||
customRC = "lua << EOF
|
customRC = "lua << EOF
|
||||||
${builtins.readFile ./init.lua}
|
${builtins.readFile ./init.lua}
|
||||||
|
@ -20,6 +20,10 @@ vim.opt.fileformats = "unix,dos"
|
|||||||
-- Recommended by Avante docs
|
-- Recommended by Avante docs
|
||||||
-- views can only be fully collapsed with the global statusline
|
-- views can only be fully collapsed with the global statusline
|
||||||
vim.opt.laststatus = 3
|
vim.opt.laststatus = 3
|
||||||
|
-- formatexpr defaulted to the lsp provider by default recently
|
||||||
|
-- which breaks `gq` and company paragraph formatting in non lsp
|
||||||
|
-- contexts.
|
||||||
|
vim.opt.formatexpr = ""
|
||||||
|
|
||||||
vim.g.BASH_AuthorName = 'Jeremy Wall'
|
vim.g.BASH_AuthorName = 'Jeremy Wall'
|
||||||
vim.g.BASH_AuthorRef = 'jw'
|
vim.g.BASH_AuthorRef = 'jw'
|
||||||
@ -256,6 +260,10 @@ vim.api.nvim_create_autocmd('LspAttach', {
|
|||||||
if client and client.server_capabilities.codelens then
|
if client and client.server_capabilities.codelens then
|
||||||
vim.lsp.codelens.refresh()
|
vim.lsp.codelens.refresh()
|
||||||
end
|
end
|
||||||
|
-- formatexpr defaulted to the lsp provider by default recently
|
||||||
|
-- which breaks `gq` and company paragraph formatting in non lsp
|
||||||
|
-- contexts.
|
||||||
|
vim.bo[args.buf].formatexpr = ""
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -275,7 +283,6 @@ vim.api.nvim_create_autocmd({ 'BufEnter', 'InsertLeave', 'CursorHold' }, {
|
|||||||
-- LSP Diagnostics Options Setup
|
-- LSP Diagnostics Options Setup
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
virtual_text = false,
|
virtual_text = false,
|
||||||
signs = true,
|
|
||||||
update_in_insert = true,
|
update_in_insert = true,
|
||||||
underline = true,
|
underline = true,
|
||||||
severity_sort = false,
|
severity_sort = false,
|
||||||
@ -707,7 +714,7 @@ function get_server_list_prompt(hub_instance)
|
|||||||
for _, server in ipairs(servers) do
|
for _, server in ipairs(servers) do
|
||||||
mcp_tool_prompt = mcp_tool_prompt .. "## server name: `" .. server.name .. "`\n\n"
|
mcp_tool_prompt = mcp_tool_prompt .. "## server name: `" .. server.name .. "`\n\n"
|
||||||
|
|
||||||
if server.capabilities.tools and #server.capabilities.tools > 0 then
|
if server.capabilities and server.capabilities.tools and #server.capabilities.tools > 0 then
|
||||||
mcp_tool_prompt = mcp_tool_prompt .. "Available tools:\n\n"
|
mcp_tool_prompt = mcp_tool_prompt .. "Available tools:\n\n"
|
||||||
for _, tool in ipairs(server.capabilities.tools) do
|
for _, tool in ipairs(server.capabilities.tools) do
|
||||||
mcp_tool_prompt = mcp_tool_prompt .. "- tool name: `" .. tool.name .. "`\n"
|
mcp_tool_prompt = mcp_tool_prompt .. "- tool name: `" .. tool.name .. "`\n"
|
||||||
@ -737,7 +744,29 @@ end
|
|||||||
vim.keymap.set("n", "<Leader>ab", function() require('avante').get().file_selector:add_buffer_files() end)
|
vim.keymap.set("n", "<Leader>ab", function() require('avante').get().file_selector:add_buffer_files() end)
|
||||||
vim.keymap.set("n", "<Leader>af", function() require('avante').get().file_selector:add_current_buffer() end)
|
vim.keymap.set("n", "<Leader>af", function() require('avante').get().file_selector:add_current_buffer() end)
|
||||||
|
|
||||||
require('copilot').setup()
|
get_root_dir = function()
|
||||||
|
-- First try to get the root path from LSP
|
||||||
|
local bufnr = vim.api.nvim_get_current_buf()
|
||||||
|
local clients = vim.lsp.get_clients({ bufnr = bufnr })
|
||||||
|
|
||||||
|
-- Check if we have an active LSP client with a root_dir
|
||||||
|
for _, client in ipairs(clients) do
|
||||||
|
if client.config and client.config.root_dir then
|
||||||
|
return client.config.root_dir
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Fall back to file-based detection
|
||||||
|
local root_file = vim.fs.find(function(name, path)
|
||||||
|
return name:match('(pyproject.toml|.sln|Cargo.toml|.git)$')
|
||||||
|
end, { upward = true })[1]
|
||||||
|
|
||||||
|
return root_file and vim.fs.dirname(root_file) or vim.fn.getcwd()
|
||||||
|
end
|
||||||
|
|
||||||
|
require('copilot').setup({
|
||||||
|
root_dir = get_root_dir,
|
||||||
|
})
|
||||||
|
|
||||||
require('avante').setup({
|
require('avante').setup({
|
||||||
provider = "claude",
|
provider = "claude",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user