1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
-- 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",
},
})
|