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 -- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls) -- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) 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, end,
}, },
} }

View File

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

View File

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