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
29 lines
579 B
VimL
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()
|