vim-patch:8.2.2085: Qt translation file is recognized as typescript

Problem:    Qt translation file is recognized as typescript.
Solution:   Check the first line for "<?xml". (closes vim/vim#7418)
c0d670ce16
This commit is contained in:
Jan Edmund Lazo
2020-12-03 18:56:13 -05:00
parent f85386d170
commit 2bcae20242
2 changed files with 24 additions and 3 deletions

View File

@@ -1768,8 +1768,13 @@ au BufNewFile,BufReadPost *.tutor setf tutor
" TWIG files
au BufNewFile,BufReadPost *.twig setf twig
" Typescript
au BufNewFile,BufReadPost *.ts setf typescript
" Typescript or Qt translation file (which is XML)
au BufNewFile,BufReadPost *.ts
\ if getline(1) =~ '<?xml' |
\ setf xml |
\ else |
\ setf typescript |
\ endif
" TypeScript with React
au BufNewFile,BufRead *.tsx setf typescriptreact

View File

@@ -471,7 +471,6 @@ let s:filename_checks = {
\ 'tssgm': ['file.tssgm'],
\ 'tssop': ['file.tssop'],
\ 'twig': ['file.twig'],
\ 'typescript': ['file.ts'],
\ 'typescriptreact': ['file.tsx'],
\ 'uc': ['file.uc'],
\ 'udevconf': ['/etc/udev/udev.conf'],
@@ -668,5 +667,22 @@ func Test_hook_file()
filetype off
endfunc
func Test_ts_file()
filetype on
call writefile(['<?xml version="1.0" encoding="utf-8"?>'], 'Xfile.ts')
split Xfile.ts
call assert_equal('xml', &filetype)
bwipe!
call writefile(['// looks like Typescript'], 'Xfile.ts')
split Xfile.ts
call assert_equal('typescript', &filetype)
bwipe!
call delete('Xfile.hook')
filetype off
endfunc
" vim: shiftwidth=2 sts=2 expandtab