dots/vim/.config/nvim/lua/native-lsp.lua
2026-02-25 11:34:24 -05:00

102 lines
2 KiB
Lua

vim.lsp.config('luals', {
on_attach = function()
print('luals is now active in this file')
end,
})
if not string.match(vim.g.hostname, "cs.purdue.edu") then
vim.lsp.enable("luals")
end
vim.lsp.config('pyright', {
on_attach = function()
print('pyright is now active in this file')
end,
})
vim.lsp.enable("pyright")
-- vim.lsp.enable("basedpyright")
vim.lsp.config('ty', {
on_attach = function()
print('ty is now active in this file')
end,
})
-- vim.lsp.enable("ty")
vim.lsp.config('clangd', {
on_attach = function()
print('clangd is now active in this file')
end,
})
vim.lsp.enable("clangd")
vim.lsp.config('tailwind-ls', {
on_attach = function()
print('tailwind-ls is now active in this file')
end,
})
vim.lsp.enable("tailwind-ls")
vim.lsp.config('zls', {
on_attach = function()
print('zls is now active in this file')
end,
})
vim.lsp.enable("zls")
-- vim.lsp.enable("zigscient")
vim.lsp.enable("gopls")
vim.lsp.enable("tinymist")
vim.lsp.enable("cspell-ls")
vim.lsp.enable("astro")
vim.lsp.config('rust_analyzer', {
on_attach = function()
print('rust-analyzer is now active in this file')
end,
})
vim.lsp.enable("rust-analyzer")
vim.lsp.enable("gdscript")
vim.lsp.config('csharp-ls', {
on_attach = function()
print('csharp-ls is now active in this file')
end,
})
vim.lsp.enable("csharp-ls")
vim.lsp.enable("asm-lsp")
vim.lsp.enable("codebook")
-- https://lsp-zero.netlify.app/blog/lsp-client-features.html
vim.opt.completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' }
vim.opt.shortmess:append('c')
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("lsp", { clear = true }),
callback = function(args)
vim.api.nvim_create_autocmd("BufWritePre", {
buffer = args.buf,
callback = function()
if vim.bo[args.buf].filetype == "typst" or vim.bo[args.buf].filetype == "c" then
return
end
vim.lsp.buf.format({ async = false, id = args.data.client_id })
end,
})
end
})