57 lines
1.7 KiB
Lua
57 lines
1.7 KiB
Lua
vim.filetype.add {
|
|
filename = {
|
|
vifmrc = 'vim',
|
|
['.ansible-lint'] = 'yaml',
|
|
['.yamllint'] = 'yaml',
|
|
['ansible.cfg'] = 'ini',
|
|
['BUCK'] = 'bzl',
|
|
['flake.lock'] = 'json',
|
|
['go.mod'] = 'gomod',
|
|
['go.sum'] = 'gosum',
|
|
['mopidy.conf'] = 'cfg',
|
|
['mpDris2.conf'] = 'cfg',
|
|
['mpd.conf'] = 'conf',
|
|
['terraform.tfstate'] = 'json',
|
|
},
|
|
extension = {
|
|
http = 'http',
|
|
hurl = 'hurl',
|
|
k = 'kcl',
|
|
mmd = 'mermaid',
|
|
ncl = 'nickel',
|
|
river = 'hcl',
|
|
tmpl = 'gohtmltmpl',
|
|
typ = 'typst',
|
|
vifm = 'vim',
|
|
},
|
|
pattern = {
|
|
['${HOME}/.kube/config'] = 'yaml',
|
|
-- Ansible
|
|
['.*/tasks/.*%.ya?ml'] = 'yaml.ansible',
|
|
['.*/roles/.*%.ya?ml'] = 'yaml.ansible',
|
|
['.*/handlers/.*%.ya?ml'] = 'yaml.ansible',
|
|
['.*/playbooks/.*%.ya?ml'] = 'yaml.ansible',
|
|
['playbook.ya?ml'] = 'yaml.ansible',
|
|
-- Waybar's config
|
|
['${XDG_CONFIG_HOME}/waybar/config'] = 'jsonc',
|
|
-- please.build
|
|
['%.?plzconfig'] = 'gitconfig',
|
|
['%.plzconfig_[%w_]+'] = 'gitconfig',
|
|
['%.plzconfig.[%w_%-]+'] = 'gitconfig',
|
|
-- Fallback on shebang
|
|
['.*'] = {
|
|
priority = -math.huge,
|
|
function(_, bufnr)
|
|
local content = vim.filetype.getlines(bufnr, 1)
|
|
-- Ansible (again)
|
|
if
|
|
vim.filetype.matchregex(content, [[^#!.*/bin/ansible-playbook]])
|
|
or vim.filetype.matchregex(content, [[^#!.*/bin/env\s\+ansible-playbook]])
|
|
then
|
|
return 'yaml.ansible'
|
|
end
|
|
end,
|
|
},
|
|
},
|
|
}
|