
In YAML files LSP completion is not happening because yaml-language-server is failing with error: TypeError: Cannot read properties of undefined (reading 'length') from out/server/src/languageserver/handlers/settingsHandlers.js:78:51, which it's expecting to have yaml.schemaStore.url.length and it's doesn't exist. Signed-off-by: Javier Tia <javier.tia@gmail.com>
51 lines
1.4 KiB
Lua
51 lines
1.4 KiB
Lua
return {
|
|
|
|
-- add yaml specific modules to treesitter
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = function(_, opts)
|
|
if type(opts.ensure_installed) == "table" then
|
|
vim.list_extend(opts.ensure_installed, { "yaml" })
|
|
end
|
|
end,
|
|
},
|
|
|
|
-- correctly setup lspconfig
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
dependencies = {
|
|
"b0o/SchemaStore.nvim",
|
|
version = false, -- last release is way too old
|
|
},
|
|
opts = {
|
|
-- make sure mason installs the server
|
|
servers = {
|
|
yamlls = {
|
|
-- lazy-load schemastore when needed
|
|
on_new_config = function(new_config)
|
|
new_config.settings.yaml.schemas = new_config.settings.yaml.schemas or {}
|
|
vim.list_extend(new_config.settings.yaml.schemas, require("schemastore").yaml.schemas())
|
|
end,
|
|
settings = {
|
|
redhat = { telemetry = { enabled = false } },
|
|
yaml = {
|
|
keyOrdering = false,
|
|
format = {
|
|
enable = true,
|
|
},
|
|
validate = { enable = true },
|
|
schemaStore = {
|
|
-- Must disable built-in schemaStore support to use
|
|
-- schemas from SchemaStore.nvim plugin
|
|
enable = false,
|
|
-- Avoid TypeError: Cannot read properties of undefined (reading 'length')
|
|
url = "",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|