summaryrefslogtreecommitdiffstats
path: root/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'autoload')
-rw-r--r--autoload/polyglot.vim20
1 files changed, 11 insertions, 9 deletions
diff --git a/autoload/polyglot.vim b/autoload/polyglot.vim
index d0e95b75..b995d228 100644
--- a/autoload/polyglot.vim
+++ b/autoload/polyglot.vim
@@ -4,13 +4,6 @@
let s:cpo_save = &cpo
set cpo&vim
-func! polyglot#ObserveShebang()
- augroup polyglot-observer
- au! CursorHold,CursorHoldI,BufWritePost <buffer>
- \ if polyglot#Shebang() | au! polyglot-observer CursorHold,CursorHoldI,BufWritePost | endif
- augroup END
-endfunc
-
func! polyglot#Shebang()
if getline(1) =~# "^#!"
let ft = polyglot#ShebangFiletype()
@@ -392,7 +385,8 @@ func! polyglot#DetectHtmlFiletype()
set ft=xhtml | return
endif
endfor
- set ft=html | return
+ set ft=html | au! BufWritePost <buffer> ++once call polyglot#DetectHtmlFiletype()
+ return
endfunc
@@ -411,6 +405,14 @@ if exists('g:polyglot_test')
autocmd!
endif
+func! polyglot#Observe(fn)
+ let b:polyglot_observe = a:fn
+ augroup polyglot-observer
+ au! CursorHold,CursorHoldI,BufWritePost <buffer>
+ \ execute('if polyglot#' . b:polyglot_observe . '() | au! polyglot-observer | endif')
+ augroup END
+endfunc
+
let s:disabled_packages = {}
let s:new_polyglot_disabled = []
@@ -497,7 +499,7 @@ au! BufNewFile,BufRead,StdinReadPost * if expand("<afile>") !~ g:ft_ignore_pat |
\ call polyglot#Shebang() | endif
au BufEnter * if &ft == "" && expand("<afile>") !~ g:ft_ignore_pat |
- \ call polyglot#ObserveShebang() | endif
+ \ call polyglot#Observe('Shebang') | endif
augroup END