fix: nvim depreciaton warnings

This commit is contained in:
Anup Sebastian 2025-10-29 21:24:09 -05:00
parent 0ccbc8cb03
commit af90cc85df
3 changed files with 89 additions and 56 deletions

View File

@ -736,7 +736,19 @@ require('lazy').setup({
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
require('lspconfig')[server_name].setup(server)
-- Use new vim.lsp.config API for Neovim 0.11+
local lspconfig_servers = require('lspconfig.configs')
local config = lspconfig_servers[server_name]
if config then
vim.lsp.config(server_name, {
cmd = server.cmd or config.default_config.cmd,
filetypes = server.filetypes or config.default_config.filetypes,
root_markers = config.default_config.root_dir,
capabilities = server.capabilities,
settings = server.settings,
})
end
end,
},
}

View File

@ -35,26 +35,32 @@ return {
-- Get shared LSP capabilities from blink.cmp
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- Setup pyright LSP server
require('lspconfig').pyright.setup {
capabilities = capabilities,
settings = {
python = {
analysis = {
-- Type checking mode: "off", "basic", or "strict"
typeCheckingMode = 'basic',
-- Auto-import completions
autoImportCompletions = true,
-- Automatically search for stubs
autoSearchPaths = true,
-- Use library code for types
useLibraryCodeForTypes = true,
-- Diagnostic mode: "openFilesOnly" or "workspace"
diagnosticMode = 'openFilesOnly',
-- Setup pyright LSP server using new vim.lsp.config API (Neovim 0.11+)
local pyright_config = require('lspconfig.configs').pyright
if pyright_config then
vim.lsp.config('pyright', {
cmd = pyright_config.default_config.cmd,
filetypes = pyright_config.default_config.filetypes,
root_markers = pyright_config.default_config.root_dir,
capabilities = capabilities,
settings = {
python = {
analysis = {
-- Type checking mode: "off", "basic", or "strict"
typeCheckingMode = 'basic',
-- Auto-import completions
autoImportCompletions = true,
-- Automatically search for stubs
autoSearchPaths = true,
-- Use library code for types
useLibraryCodeForTypes = true,
-- Diagnostic mode: "openFilesOnly" or "workspace"
diagnosticMode = 'openFilesOnly',
},
},
},
},
}
})
end
-- Install Python tools via Mason
require('mason-tool-installer').setup {

View File

@ -38,47 +38,62 @@ return {
-- Get shared LSP capabilities from blink.cmp
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- Setup Svelte LSP server
require('lspconfig').svelte.setup {
capabilities = capabilities,
settings = {
svelte = {
plugin = {
html = { completions = { enable = true, emmet = true } },
svelte = { completions = { enable = true } },
css = { completions = { enable = true } },
typescript = { diagnostics = { enable = true } },
-- Setup Svelte LSP server using new vim.lsp.config API (Neovim 0.11+)
local svelte_config = require('lspconfig.configs').svelte
if svelte_config then
vim.lsp.config('svelte', {
cmd = svelte_config.default_config.cmd,
filetypes = svelte_config.default_config.filetypes,
root_markers = svelte_config.default_config.root_dir,
capabilities = capabilities,
settings = {
svelte = {
plugin = {
html = { completions = { enable = true, emmet = true } },
svelte = { completions = { enable = true } },
css = { completions = { enable = true } },
typescript = { diagnostics = { enable = true } },
},
},
},
},
}
})
end
-- Optional: Setup TypeScript LSP for .ts/.js files in Svelte projects
require('lspconfig').ts_ls.setup {
capabilities = capabilities,
-- Configure to work well with Svelte
filetypes = {
'javascript',
'javascriptreact',
'typescript',
'typescriptreact',
},
}
-- Setup TypeScript LSP for .ts/.js files in Svelte projects
local tsserver_config = require('lspconfig.configs').ts_ls
if tsserver_config then
vim.lsp.config('ts_ls', {
cmd = tsserver_config.default_config.cmd,
filetypes = {
'javascript',
'javascriptreact',
'typescript',
'typescriptreact',
},
root_markers = tsserver_config.default_config.root_dir,
capabilities = capabilities,
})
end
-- Optional: Setup Tailwind CSS LSP if you're using Tailwind
require('lspconfig').tailwindcss.setup {
capabilities = capabilities,
filetypes = {
'svelte',
'html',
'css',
'scss',
'javascript',
'javascriptreact',
'typescript',
'typescriptreact',
},
}
-- Setup Tailwind CSS LSP if you're using Tailwind
local tailwind_config = require('lspconfig.configs').tailwindcss
if tailwind_config then
vim.lsp.config('tailwindcss', {
cmd = tailwind_config.default_config.cmd,
filetypes = {
'svelte',
'html',
'css',
'scss',
'javascript',
'javascriptreact',
'typescript',
'typescriptreact',
},
root_markers = tailwind_config.default_config.root_dir,
capabilities = capabilities,
})
end
-- Install web development tools via Mason
require('mason-tool-installer').setup {