" 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
\ 'tssgm': ['file.tssgm'],
\ 'tssop': ['file.tssop'],
\ 'twig': ['file.twig'],
- \ 'typescript': ['file.ts'],
\ 'typescriptreact': ['file.tsx'],
\ 'uc': ['file.uc'],
\ 'udevconf': ['/etc/udev/udev.conf', 'any/etc/udev/udev.conf'],
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