Dotfiles/site-modules/core/files/vim/ftdetect/javascript.vim
Ade Attwood 80239af169 refactor(core): start to make dotfiles public
This is the first commit that brings the privet dotfiles to a public
reop previously this was all one puppet module. Now this has been split
out so I can put all of the private files in a private puppet module
2020-09-20 06:22:17 +01:00

29 lines
579 B
VimL

"
" Change filetype to javascript.jsx if a js file imports `React`
"
function! s:ScanFile()
let n = 1
let nmax = line('$')
if line('$') > 500
let nmax = 500
endif
while n < nmax
if getline(n) =~# "\\v<React>"
return 1
break
endif
let n = n + 1
endwhile
return 0
endfunction
function! s:DetectJSX()
if match(&filetype, '\v<jsx>') != -1
return
endif
if s:ScanFile()
set filetype=javascript.jsx
endif
endfunction
autocmd BufNewFile,BufRead *.js call s:DetectJSX()