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
index 895ac06..e702be9 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -798,7 +798,10 @@
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 @@
" 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
index 0000000..ea5c9f5
--- /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
index 0000000..ea5c9f5
--- /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
index 0000000..ea5c9f5
--- /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
index 92a5205..19fd19a 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -221,7 +221,8 @@
\ '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 @@
\ '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 @@
func Test_setfiletype_completion()
call feedkeys(":setfiletype java\<C-A>\<C-B>\"\<CR>", '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
index 1e628fd..f0e441a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1930,
+/**/
1929,
/**/
1928,