diff --git a/templates/nvim/lua/lsp.lua.j2 b/templates/nvim/lua/lsp.lua.j2 index 9d719ea..c86d9d7 100644 --- a/templates/nvim/lua/lsp.lua.j2 +++ b/templates/nvim/lua/lsp.lua.j2 @@ -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) diff --git a/vars/archlinux.yml b/vars/archlinux.yml index bd77dfc..74d162d 100644 --- a/vars/archlinux.yml +++ b/vars/archlinux.yml @@ -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' diff --git a/vars/debian.yml b/vars/debian.yml index 2b3d914..5c39383 100644 --- a/vars/debian.yml +++ b/vars/debian.yml @@ -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