1
0
forked from aniani/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 #7418)
This commit is contained in:
Bram Moolenaar
2020-12-03 21:08:37 +01:00
parent 0684e36a7e
commit c0d670ce16
3 changed files with 26 additions and 3 deletions

View File

@@ -1763,8 +1763,13 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
" 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

@@ -487,7 +487,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', 'any/etc/udev/udev.conf'],
@@ -709,5 +708,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

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2085,
/**/
2084,
/**/