-- Custom Filetype-Erkennung fuer Dateien, die sich nicht allein anhand ihrer -- Endung unterscheiden lassen (z.B. Ansible-YAML vs. normales YAML). -- -- "yaml.ansible" wird ausserdem in config.treesitter (Autocmd-Pattern) und in -- plugins/lsp.lua (ansiblels.filetypes) verwendet. -- Ansible-Dateien haben die Endung .yml/.yaml wie normales YAML und sind nur am -- Dateinamen bzw. am Pfad erkennbar. -- -- Achtung: vim.filetype.add klammert Patterns selbst in "^...$". Ein eigenes "$" -- am Ende steht dadurch mitten im Pattern und gilt als literales Zeichen -- das -- Pattern greift dann nie. Die implizite Verankerung sorgt gleichzeitig dafuer, -- dass Jinja-Templates (z.B. tasks/main.yml.j2) weiter als jinja gelten. vim.filetype.add({ filename = { ["playbook.yml"] = "yaml.ansible", ["playbook.yaml"] = "yaml.ansible", ["site.yml"] = "yaml.ansible", ["site.yaml"] = "yaml.ansible", ["requirements.yml"] = "yaml.ansible", ["requirements.yaml"] = "yaml.ansible", }, pattern = { [".*/roles/.*/tasks/.*%.ya?ml"] = "yaml.ansible", [".*/roles/.*/handlers/.*%.ya?ml"] = "yaml.ansible", [".*/tasks/.*%.ya?ml"] = "yaml.ansible", [".*/handlers/.*%.ya?ml"] = "yaml.ansible", [".*/group_vars/.*%.ya?ml"] = "yaml.ansible", [".*/host_vars/.*%.ya?ml"] = "yaml.ansible", [".*/playbooks/.*%.ya?ml"] = "yaml.ansible", }, extension = { j2 = "jinja", }, })