Attach yamlls to yaml.ansible filetypes & show diagnostic source

similiar to lsp source
This commit is contained in:
Sonny Bakker 2025-02-14 09:28:41 +01:00
parent ee344af9f5
commit 5d15147130
3 changed files with 110 additions and 102 deletions

View file

@ -29,7 +29,6 @@ end
--enable some language servers with the additional completion capabilities
--offered by nvim-cmp
-- TODO: use `.join`?
local servers = {
{% for item in language_servers %}
{% if item.auto_setup and not loop.last %}
@ -61,33 +60,39 @@ local python_root_dir = function(fname)
util.path.dirname(fname)
end
nvim_lsp.ruff.setup({
nvim_lsp.ruff.setup {
on_attach = on_attach,
capabilities = capabilities,
root_dir = python_root_dir
})
}
nvim_lsp.pyright.setup({
nvim_lsp.pyright.setup {
settings = {
pyright = {
-- Using Ruff's import organizer
disableOrganizeImports = true,
},
},
})
}
nvim_lsp.html.setup({
nvim_lsp.html.setup {
on_attach = on_attach,
capabilities = capabilities,
filetypes = { 'html', 'htmldjango' },
})
}
{% endif %}
nvim_lsp.yamlls.setup {
on_attach = on_attach,
capabilities = capabilities,
filetypes = { 'yaml', 'yaml.ansible', 'yaml.docker-compose', 'yaml.gitlab' }
}
local cmp = require('cmp')
local luasnip = require('luasnip')
cmp.setup({
cmp.setup {
sources = {
{ name = 'nvim_lsp', },
{ name = 'buffer' },
@ -148,14 +153,15 @@ cmp.setup({
luasnip.lsp_expand(args.body)
end,
},
})
}
vim.diagnostic.config({
vim.diagnostic.config {
float = {
source = 'always',
border = border
suffix = function(diagnostic)
return (' %s | [%s]'):format(diagnostic.code, diagnostic.source)
end
},
})
}
local enable_formatting = os.getenv("ENABLE_FORMATTING", False)

View file

@ -20,86 +20,92 @@ packages:
- uv
aur_packages:
- {
url: 'https://aur.archlinux.org/nvm.git',
name: 'nvm',
package_name: 'nvm',
version: '0.40.0-1',
arch: 'any',
}
- url: 'https://aur.archlinux.org/nvm.git'
name: 'nvm'
package_name: 'nvm'
version: '0.40.0-1'
arch: 'any'
aur_build_dir: '/usr/local/src'
python_build_dir: '/usr/local/src'
python_install_dir: '/opt'
language_servers:
- {
package: ansible-language-server,
server_name: 'ansiblels',
auto_setup: true
}
- {
package: yaml-language-server,
server_name: 'yamlls',
auto_setup: true
}
- {
package: typescript-language-server,
server_name: 'ts_ls',
auto_setup: true
}
- {
package: vscode-html-languageserver,
server_name: 'html',
auto_setup: false
}
- {
package: vscode-json-languageserver,
server_name: 'jsonls',
auto_setup: true
}
- {
package: vscode-css-languageserver,
server_name: 'cssls',
auto_setup: true
}
- {
package: bash-language-server,
server_name: 'bashls',
auto_setup: true
}
- {
package: lua-language-server,
server_name: 'lua_ls',
auto_setup: true
}
- {
package: ruff-lsp,
server_name: 'ruff',
auto_setup: false
}
- {
package: pyright,
server_name: 'pyright',
auto_setup: false
}
- {
package: marksman,
server_name: 'marksman',
auto_setup: true
}
- {
package: esbonio,
server_name: 'esbonio',
auto_setup: true
}
- package: ansible-language-server
server_name: 'ansiblels'
auto_setup: true
- package: typescript-language-server
server_name: 'ts_ls'
auto_setup: true
- package: vscode-json-languageserver
server_name: 'jsonls'
auto_setup: true
- package: vscode-css-languageserver
server_name: 'cssls'
auto_setup: true
- package: bash-language-server
server_name: 'bashls'
auto_setup: true
- package: marksman
server_name: 'marksman'
auto_setup: true
- package: esbonio
server_name: 'esbonio'
auto_setup: true
- package: lua-language-server
server_name: 'lua_ls'
auto_setup: true
- package: yaml-language-server
server_name: 'yamlls'
auto_setup: false
- package: vscode-html-languageserver
server_name: 'html'
auto_setup: false
- package: ruff-lsp
server_name: 'ruff'
auto_setup: false
- package: pyright
server_name: 'pyright'
auto_setup: false
python_download_url: 'https://www.python.org/ftp/python'
python_versions:
- { version: 3.12.9, path: 'python3.12', binary: 'python3.12' }
- { version: 3.11.9, path: 'python3.11', binary: 'python3.11' }
- { version: 3.10.0, path: 'python3.10', binary: 'python3.10' }
- { version: 3.9.14, path: 'python3.9', binary: 'python3.9' }
- { version: 3.8.14, path: 'python3.8', binary: 'python3.8' }
- { version: 3.7.14, path: 'python3.7', binary: 'python3.7' }
- { version: 3.6.15, path: 'python3.6', binary: 'python3.6' }
- version: 3.12.9
path: 'python3.12'
binary: 'python3.12'
- version: 3.11.9
path: 'python3.11'
binary: 'python3.11'
- version: 3.10.0
path: 'python3.10'
binary: 'python3.10'
- version: 3.9.14
path: 'python3.9'
binary: 'python3.9'
- version: 3.8.14
path: 'python3.8'
binary: 'python3.8'
- version: 3.7.14
path: 'python3.7'
binary: 'python3.7'
- version: 3.6.15
path: 'python3.6'
binary: 'python3.6'

View file

@ -16,18 +16,14 @@ neovim:
# TODO: add lua language server, see https://github.com/LuaLS/lua-language-server?
language_servers:
- {
package: '@ansible/ansible-language-server',
server_name: 'ansiblels',
auto_setup: true
}
- {
package: yaml-language-server,
server_name: 'yamlls',
auto_setup: true
}
- {
package: bash-language-server,
server_name: 'bashls',
auto_setup: true
}
- package: '@ansible/ansible-language-server'
server_name: 'ansiblels'
auto_setup: true
- package: yaml-language-server
server_name: 'yamlls'
auto_setup: false
- package: bash-language-server
server_name: 'bashls'
auto_setup: true