From dafb375026c30911dace5bd5d576d2f137f3c496 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Tue, 8 Sep 2026 08:26:55 +0200 Subject: Dateityp-Erkennung verbessert --- nvim/lua/config/filetypes.lua | 33 ++++++++++++++++++--------------- nvim/lua/plugins/lsp.lua | 1 - 2 files changed, 18 insertions(+), 16 deletions(-) (limited to 'nvim/lua') diff --git a/nvim/lua/config/filetypes.lua b/nvim/lua/config/filetypes.lua index 56810d9..2537750 100644 --- a/nvim/lua/config/filetypes.lua +++ b/nvim/lua/config/filetypes.lua @@ -13,20 +13,26 @@ M.ANSIBLE_YAML = "yaml.ansible" -- Treesitter-Aktivierung). M.extra = { M.ANSIBLE_YAML, "jsonc" } --- Ansible-Dateien haben die Endung .yml/.yaml wie normales YAML, sind aber --- ueber ihren Pfad erkennbar. +-- Ansible-Dateien haben die Endung .yml/.yaml wie normales YAML und sind nur +-- am Dateinamen bzw. am Pfad erkennbar. Die Patterns sind mit "$" verankert, +-- damit Jinja-Templates (z.B. tasks/main.yml.j2) weiter als jinja gelten. vim.filetype.add({ + filename = { + ["playbook.yml"] = M.ANSIBLE_YAML, + ["playbook.yaml"] = M.ANSIBLE_YAML, + ["site.yml"] = M.ANSIBLE_YAML, + ["site.yaml"] = M.ANSIBLE_YAML, + ["requirements.yml"] = M.ANSIBLE_YAML, + ["requirements.yaml"] = M.ANSIBLE_YAML, + }, pattern = { - [".*/roles/.*/tasks/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/roles/.*/handlers/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/tasks/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/handlers/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/group_vars/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/host_vars/.*%.ya?ml"] = M.ANSIBLE_YAML, - [".*/playbooks/.*%.ya?ml"] = M.ANSIBLE_YAML, - ["playbook%.ya?ml"] = M.ANSIBLE_YAML, - ["site%.ya?ml"] = M.ANSIBLE_YAML, - ["requirements%.ya?ml"] = M.ANSIBLE_YAML, + [".*/roles/.*/tasks/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/roles/.*/handlers/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/tasks/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/handlers/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/group_vars/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/host_vars/.*%.ya?ml$"] = M.ANSIBLE_YAML, + [".*/playbooks/.*%.ya?ml$"] = M.ANSIBLE_YAML, }, extension = { j2 = "jinja", @@ -36,9 +42,6 @@ vim.filetype.add({ }, }) --- yaml.ansible soll den regulaeren yaml-Parser von Treesitter verwenden. -vim.treesitter.language.register("yaml", M.ANSIBLE_YAML) - -- nvim-treesitter stellt keinen eigenen jsonc-Parser bereit. Der json-Parser -- versteht // und /* */ Kommentare, deshalb wird er fuer jsonc mitbenutzt. vim.treesitter.language.register("json", "jsonc") diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 76bbaeb..a2b37d5 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -98,7 +98,6 @@ return { } vim.lsp.config.ansiblels = { - capabilities = capabilities, filetypes = { require("config.filetypes").ANSIBLE_YAML }, settings = { ansible = { -- cgit v1.3