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 glab-cli/**/mr.json
**/.DS_Store **/.DS_Store
**/lazy-lock.json **/lazy-lock.json
github-copilot/hosts.json github-copilot/
omz-custom/plugins omz-custom/plugins
omz-custom/vrm.sh omz-custom/vrm.sh
omz omz
testDir testDir
tmuxinator/*.yml tmuxinator/*.yml
!tmuxinator/template.yml.temp !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", event = "InsertEnter",
config = function() config = function()
require("copilot").setup({ 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 = { suggestion = {
enabled = true, enabled = true,
auto_trigger = true, auto_trigger = true,

View File

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