fix(nvim): better copilot and nvim

This commit is contained in:
Oliver
2025-12-23 14:05:51 +01:00
parent 3311977bf4
commit 7a61ac5437
4 changed files with 41 additions and 19 deletions

7
.gitignore vendored
View File

@@ -3,10 +3,15 @@ glab-cli/config.yml
glab-cli/**/mr.json
**/.DS_Store
**/lazy-lock.json
github-copilot/hosts.json
github-copilot/
omz-custom/plugins
omz-custom/vrm.sh
omz
testDir
tmuxinator/*.yml
!tmuxinator/template.yml.temp
uv/
gcloud/
htop/
mcphub
spicetify

View File

@@ -1 +1 @@
{"copilot.lua":"1.384.0"}
{"copilot.lua":"1.393.0"}

View File

@@ -4,6 +4,9 @@ return {
event = "InsertEnter",
config = function()
require("copilot").setup({
-- get the node path from env variable $NODE_PATH if it's set
-- copilot_node_command = "/Users/oliverhnat/.nvm/versions/node/v22.21.1/bin/node",
copilot_node_command = os.getenv("NODE_PATH"),
suggestion = {
enabled = true,
auto_trigger = true,

View File

@@ -19,6 +19,9 @@ local PACKAGES = {
"pyright",
"typescript-language-server",
"yaml-language-server",
"vue-language-server",
"ts_ls",
"typescript-tools",
-- Format
"black",
"flake8",
@@ -93,22 +96,22 @@ local function syncPackages(ensurePacks)
end)
-- Auto-clean unused packages
local installedPackages = masonReg.get_installed_package_names()
vim.iter(installedPackages):each(function(packName)
-- Check if installed package is in our ensure list (without version suffix)
local isEnsured = vim.iter(ensurePacks):any(function(ensurePack)
local name = ensurePack:match("([^@]+)")
return name == packName
end)
if not isEnsured then
masonReg.get_package(packName):uninstall()
local msg = ("[%s] uninstalled."):format(packName)
vim.defer_fn(function()
vim.notify(msg, nil, { title = "Mason", icon = "󰅗" })
end, 0)
end
end)
-- local installedPackages = masonReg.get_installed_package_names()
-- vim.iter(installedPackages):each(function(packName)
-- -- Check if installed package is in our ensure list (without version suffix)
-- local isEnsured = vim.iter(ensurePacks):any(function(ensurePack)
-- local name = ensurePack:match("([^@]+)")
-- return name == packName
-- end)
--
-- if not isEnsured then
-- masonReg.get_package(packName):uninstall()
-- local msg = ("[%s] uninstalled."):format(packName)
-- vim.defer_fn(function()
-- vim.notify(msg, nil, { title = "Mason", icon = "󰅗" })
-- end, 0)
-- end
-- end)
end
masonReg.refresh(refreshCallback)
@@ -183,7 +186,12 @@ return {
},
})
vim.lsp.config("ts_ls", { on_attach = on_attach, capabilities = capabilities })
vim.lsp.config("ts_ls", {
on_attach = on_attach,
capabilities = capabilities,
})
vim.lsp.enable("ts_ls")
vim.lsp.config("pyright", { on_attach = on_attach, capabilities = capabilities })
vim.lsp.config("html", { on_attach = on_attach, capabilities = capabilities })
vim.lsp.config("cssls", { on_attach = on_attach, capabilities = capabilities })
@@ -201,6 +209,11 @@ return {
},
})
vim.lsp.config("eslint", { on_attach = on_attach, capabilities = capabilities })
vim.lsp.config("vue_ls", {
on_attach = on_attach,
capabilities = capabilities,
})
vim.lsp.enable("vue_ls")
require("mason-lspconfig").setup({
ensure_installed = {
@@ -213,6 +226,7 @@ return {
"yamlls",
"intelephense",
"eslint",
"vue_ls",
},
automatic_installation = true,
})