You've already forked dotfiles
47 lines
1.6 KiB
Lua
47 lines
1.6 KiB
Lua
-- YAML LSP specific settings with a number of custom tags specifically for use with AWS CloudFormation templates
|
|
|
|
return {
|
|
cmd = function (dispatchers, _)
|
|
return vim.lsp.rpc.start({'yaml-language-server', '--stdio'}, dispatchers)
|
|
end,
|
|
filetypes = { 'yaml', 'yaml.docker-compose', 'yaml.gitlab', 'yaml.helm-values' },
|
|
root_markers = { '.git' },
|
|
settings = {
|
|
redhat = { telemetry = { enabled = false } },
|
|
yaml = {
|
|
customTags = {
|
|
'!fn',
|
|
'!And',
|
|
'!If',
|
|
'!Not',
|
|
'!Equals',
|
|
'!Or',
|
|
'!FindInMap sequence',
|
|
'!Base64',
|
|
'!Cidr',
|
|
'!Ref',
|
|
'!Ref Scalar',
|
|
'!Sub',
|
|
'!GetAtt',
|
|
'!GetAZs',
|
|
'!ImportValue',
|
|
'!Select',
|
|
'!Split',
|
|
'!Join sequence'
|
|
},
|
|
format = { enable = true, singleQuote = true },
|
|
hover = true,
|
|
schemaStore = { enable = true },
|
|
validate = true,
|
|
}
|
|
},
|
|
on_init = function(client)
|
|
-- From nvim-lspconfig's yamlls.lua
|
|
--- https://github.com/neovim/nvim-lspconfig/pull/4016
|
|
--- Since formatting is disabled by default if you check `client:supports_method('textDocument/formatting')`
|
|
--- during `LspAttach` it will return `false`. This hack sets the capability to `true` to facilitate
|
|
--- autocmd's which check this capability
|
|
client.server_capabilities.documentFormattingProvider = true
|
|
end,
|
|
}
|