# HG changeset patch # User Bram Moolenaar # Date 1566847804 -7200 # Node ID 180fb9981255616b2c980f3225bec17236dade32 # Parent 53402dbe1ee1810eaf5d8883eaed47fb73ff3038 patch 8.1.1930: cannot recognize .jsx and .tsx files Commit: https://github.com/vim/vim/commit/92852cee3fcff1dc6ce12387b234634e73267b22 Author: Bram Moolenaar Date: Mon Aug 26 21:28:15 2019 +0200 patch 8.1.1930: cannot recognize .jsx and .tsx files Problem: Cannot recognize .jsx and .tsx files. Solution: Recognize them as javascriptreact and typescriptreact. (closes #4830) diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -798,7 +798,10 @@ au BufNewFile,BufRead *.java,*.jav setf au BufNewFile,BufRead *.jj,*.jjt setf javacc " JavaScript, ECMAScript -au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.mjs setf javascript +au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs setf javascript + +" JavaScript with React +au BufNewFile,BufRead *.jsx setf javascriptreact " Java Server Pages au BufNewFile,BufRead *.jsp setf jsp @@ -1709,6 +1712,9 @@ au BufNewFile,BufReadPost *.twig setf t " Typescript au BufNewFile,BufReadPost *.ts setf typescript +" TypeScript with React +au BufNewFile,BufRead *.tsx setf typescriptreact + " Motif UIT/UIL files au BufNewFile,BufRead *.uit,*.uil setf uil diff --git a/runtime/ftplugin/javascriptreact.vim b/runtime/ftplugin/javascriptreact.vim new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/javascriptreact.vim @@ -0,0 +1,2 @@ +" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript. +source %:h/javascript.vim diff --git a/runtime/indent/javascriptreact.vim b/runtime/indent/javascriptreact.vim new file mode 100644 --- /dev/null +++ b/runtime/indent/javascriptreact.vim @@ -0,0 +1,2 @@ +" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript. +source %:h/javascript.vim diff --git a/runtime/syntax/javascriptreact.vim b/runtime/syntax/javascriptreact.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/javascriptreact.vim @@ -0,0 +1,2 @@ +" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript. +source %:h/javascript.vim diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim --- a/src/testdir/test_filetype.vim +++ b/src/testdir/test_filetype.vim @@ -221,7 +221,8 @@ let s:filename_checks = { \ 'jam': ['file.jpl', 'file.jpr'], \ 'java': ['file.java', 'file.jav'], \ 'javacc': ['file.jj', 'file.jjt'], - \ 'javascript': ['file.js', 'file.javascript', 'file.es', 'file.jsx', 'file.mjs'], + \ 'javascript': ['file.js', 'file.javascript', 'file.es', 'file.mjs'], + \ 'javascriptreact': ['file.jsx'], \ 'jess': ['file.clp'], \ 'jgraph': ['file.jgr'], \ 'jovial': ['file.jov', 'file.j73', 'file.jovial'], @@ -455,6 +456,7 @@ let s:filename_checks = { \ 'tssop': ['file.tssop'], \ 'twig': ['file.twig'], \ 'typescript': ['file.ts'], + \ 'typescriptreact': ['file.tsx'], \ 'uc': ['file.uc'], \ 'udevconf': ['/etc/udev/udev.conf'], \ 'udevperm': ['/etc/udev/permissions.d/file.permissions'], @@ -609,5 +611,5 @@ endfunc func Test_setfiletype_completion() call feedkeys(":setfiletype java\\\"\", 'tx') - call assert_equal('"setfiletype java javacc javascript', @:) + call assert_equal('"setfiletype java javacc javascript javascriptreact', @:) endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1930, +/**/ 1929, /**/ 1928,