aboutsummaryrefslogtreecommitdiff
path: root/vim/autoload/alternate_filetypes.vim
diff options
context:
space:
mode:
Diffstat (limited to 'vim/autoload/alternate_filetypes.vim')
-rw-r--r--vim/autoload/alternate_filetypes.vim14
1 files changed, 14 insertions, 0 deletions
diff --git a/vim/autoload/alternate_filetypes.vim b/vim/autoload/alternate_filetypes.vim
new file mode 100644
index 00000000..26c2a0d5
--- /dev/null
+++ b/vim/autoload/alternate_filetypes.vim
@@ -0,0 +1,14 @@
+function! alternate_filetypes#() abort
+ if exists('b:alternate_filetypes')
+ let filetypes = b:alternate_filetypes
+ let index = index(filetypes, &filetype)
+ if index >= 0
+ let &filetype = filetypes[
+ \ (index + 1) % len(filetypes)
+ \]
+ else
+ unlet b:alternate_filetypes
+ endif
+ endif
+ set filetype?
+endfunction