Fix ansible ftdetect

This commit is contained in:
Adam Stankiewicz
2020-08-25 14:26:38 +02:00
parent e47af23f64
commit 080b8cdc60
4 changed files with 33 additions and 17 deletions

View File

@@ -1291,12 +1291,12 @@ if index(g:polyglot_disabled, 'ansible') == -1
au BufNewFile,BufRead group_vars/* set ft=yaml.ansible
au BufNewFile,BufRead handlers.*.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead host_vars/* set ft=yaml.ansible
au BufNewFile,BufRead local.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead main.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead playbook.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead requirements.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead local.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead main.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead playbook.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead requirements.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead roles.*.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead site.ya?ml set ft=yaml.ansible
au BufNewFile,BufRead site.y{a,}ml set ft=yaml.ansible
au BufNewFile,BufRead tasks.*.ya?ml set ft=yaml.ansible
endif

View File

@@ -1271,11 +1271,11 @@ filetypes:
- asl
- dsl
filenames:
- playbook.ya?ml
- site.ya?ml
- main.ya?ml
- local.ya?ml
- requirements.ya?ml
- "playbook.y{a,}ml"
- "site.y{a,}ml"
- "main.y{a,}ml"
- "local.y{a,}ml"
- "requirements.y{a,}ml"
- 'group_vars/*'
- 'host_vars/*'
- 'tasks.*.ya?ml'

View File

@@ -2,10 +2,12 @@
set -e
vim --clean -N -u <(
echo "filetype plugin indent on"
echo "syntax enable"
echo "let &rtp='$PWD,'.&rtp"
echo "source scripts/test_filetypes.vim"
echo "exec ':q!'"
)
vim --clean -N --cmd "
filetype plugin indent on
syntax enable
let &rtp='$PWD,'.&rtp
source ftdetect/polyglot.vim
source scripts/test_extensions.vim
source scripts/test_filetypes.vim
exec ':q!'
"

View File

@@ -0,0 +1,14 @@
function! TestExtension(filetype, filename, content)
try
exec "e " . a:filename
exec "if &filetype != '" . a:filetype . "' \nthrow &filetype\nendif"
catch
echo 'Filename "' . a:filename . '" does not resolve to extension "' . a:filetype . '"'
echo ' instead received: "' . v:exception . '"'
exec ':cq!'
endtry
endfunction
call TestExtension('blade', 'test.blade.php', '')
call TestExtension('yaml.ansible', 'playbook.yml', '')
call TestExtension('yaml.ansible', 'host_vars/foobar', '')