vim-patch:8.2.3050: cannot recognize elixir files

Problem:    Cannot recognize elixir files.
Solution:   Recognize Elixir-specific files.  Check if an .ex file is Euphoria
            or Elixir. (Austin Gatlin, closes vim/vim#8401, closes vim/vim#8446)
f3caeb63d6
This commit is contained in:
Jan Edmund Lazo
2021-06-26 10:50:17 -04:00
parent 5c0b01fd88
commit 750ad18845
3 changed files with 58 additions and 2 deletions

View File

@@ -161,6 +161,8 @@ let s:filename_checks = {
\ 'ecd': ['file.ecd'],
\ 'edif': ['file.edf', 'file.edif', 'file.edo'],
\ 'elinks': ['elinks.conf'],
\ 'elixir': ['file.ex', 'file.exs', 'mix.lock'],
\ 'eelixir': ['file.eex', 'file.leex'],
\ 'elm': ['file.elm'],
\ 'elmfilt': ['filter-rules'],
\ 'epuppet': ['file.epp'],
@@ -765,5 +767,41 @@ func Test_pp_file()
filetype off
endfunc
func Test_ex_file()
filetype on
call writefile(['arbitrary content'], 'Xfile.ex')
split Xfile.ex
call assert_equal('elixir', &filetype)
bwipe!
let g:filetype_euphoria = 'euphoria4'
split Xfile.ex
call assert_equal('euphoria4', &filetype)
bwipe!
unlet g:filetype_euphoria
call writefile(['-- filetype euphoria comment'], 'Xfile.ex')
split Xfile.ex
call assert_equal('euphoria3', &filetype)
bwipe!
call writefile(['--filetype euphoria comment'], 'Xfile.ex')
split Xfile.ex
call assert_equal('euphoria3', &filetype)
bwipe!
call writefile(['ifdef '], 'Xfile.ex')
split Xfile.ex
call assert_equal('euphoria3', &filetype)
bwipe!
call writefile(['include '], 'Xfile.ex')
split Xfile.ex
call assert_equal('euphoria3', &filetype)
bwipe!
call delete('Xfile.ex')
filetype off
endfunc
" vim: shiftwidth=2 sts=2 expandtab