summaryrefslogtreecommitdiffstats
path: root/ftdetect/polyglot.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2013-09-16 16:53:38 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2013-09-16 16:54:16 +0200
commitd7873996b43339f6d272ffa8e3616a4e5793dc26 (patch)
tree15449a6f9f916414b8a8bec3d63fd18c44ec720a /ftdetect/polyglot.vim
parent73cbf0269e137499d22949da48cb71a24f7bfa73 (diff)
downloadvim-polyglot-d7873996b43339f6d272ffa8e3616a4e5793dc26.tar.gz
vim-polyglot-d7873996b43339f6d272ffa8e3616a4e5793dc26.zip
Concat ftdetect scripts and mention startup cost in the README
Diffstat (limited to 'ftdetect/polyglot.vim')
-rw-r--r--ftdetect/polyglot.vim121
1 files changed, 121 insertions, 0 deletions
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
new file mode 100644
index 00000000..7ca5abb1
--- /dev/null
+++ b/ftdetect/polyglot.vim
@@ -0,0 +1,121 @@
+au BufRead,BufNewFile *.ino,*.pde set filetype=arduino
+au BufNewFile,BufRead *.clj,*.cljs,*.edn setf clojure
+autocmd BufNewFile,BufRead *.coffee set filetype=coffee
+autocmd BufNewFile,BufRead *Cakefile set filetype=coffee
+autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee
+autocmd BufNewFile,BufRead *._coffee set filetype=coffee
+function! s:DetectCoffee()
+ if getline(1) =~ '^#!.*\<coffee\>'
+ set filetype=coffee
+ endif
+endfunction
+autocmd BufNewFile,BufRead * call s:DetectCoffee()
+au BufRead,BufNewFile *.csv,*.dat,*.tsv,*.tab set filetype=csv
+autocmd BufNewFile,BufReadPost *.feature,*.story set filetype=cucumber
+au BufRead,BufNewFile *.ex,*.exs set filetype=elixir
+au FileType elixir setl sw=2 sts=2 et iskeyword+=!,?
+autocmd BufNewFile,BufRead *.git/{,modules/**/}{COMMIT_EDIT,MERGE_}MSG set ft=gitcommit
+autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules set ft=gitconfig
+autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig
+autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig
+autocmd BufNewFile,BufRead git-rebase-todo set ft=gitrebase
+autocmd BufNewFile,BufRead .msg.[0-9]*
+ \ if getline(1) =~ '^From.*# This line is ignored.$' |
+ \ set ft=gitsendemail |
+ \ endif
+autocmd BufNewFile,BufRead *.git/**
+ \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
+ \ set ft=git |
+ \ endif
+autocmd BufNewFile,BufRead,StdinReadPost *
+ \ if getline(1) =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' |
+ \ set ft=git |
+ \ endif
+let s:current_fileformats = ''
+let s:current_fileencodings = ''
+function! s:gofiletype_pre()
+ let s:current_fileformats = &g:fileformats
+ let s:current_fileencodings = &g:fileencodings
+ set fileencodings=utf-8 fileformats=unix
+ setlocal filetype=go
+endfunction
+function! s:gofiletype_post()
+ let &g:fileformats = s:current_fileformats
+ let &g:fileencodings = s:current_fileencodings
+endfunction
+au BufNewFile *.go setlocal filetype=go fileencoding=utf-8 fileformat=unix
+au BufRead *.go call s:gofiletype_pre()
+au BufReadPost *.go call s:gofiletype_post()
+autocmd BufNewFile,BufRead *.haml,*.hamlbars setf haml
+autocmd BufNewFile,BufRead *.sass setf sass
+autocmd BufNewFile,BufRead *.scss setf scss
+if has("autocmd")
+ au BufNewFile,BufRead *.{handlebars,hb,hbs,hbt}{,.erb} set ft=html syntax=handlebars | runtime! ftplugin/handlebars.vim ftplugin/handlebars*.vim ftplugin/handlebars/*.vim
+endif
+autocmd BufNewFile,BufReadPost *.jade set filetype=jade
+au BufNewFile,BufRead *.js setf javascript
+au BufNewFile,BufRead *.jsm setf javascript
+au BufNewFile,BufRead *.json setf javascript
+au BufNewFile,BufRead Jakefile setf javascript
+fun! s:SelectJavascript()
+ if getline(1) =~# '^#!.*/bin/env\s\+node\>'
+ set ft=javascript
+ endif
+endfun
+au BufNewFile,BufRead * call s:SelectJavascript()
+autocmd BufNewFile,BufRead *.json set filetype=json
+augroup json_autocmd
+ autocmd!
+ autocmd FileType json setlocal autoindent
+ autocmd FileType json setlocal formatoptions=tcq2l
+ autocmd FileType json setlocal foldmethod=syntax
+augroup END
+au BufNewFile,BufRead *.ejs set filetype=jst
+au BufNewFile,BufRead *.jst set filetype=jst
+au BufNewFile,BufRead *.hamljs set filetype=jst
+autocmd BufNewFile,BufRead *.less setf less
+autocmd BufNewFile,BufRead *.markdown,*.md,*.mdown,*.mkd,*.mkdn
+ \ if &ft =~# '^\%(conf\|modula2\)$' |
+ \ set ft=markdown |
+ \ else |
+ \ setf markdown |
+ \ endif
+au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/*,*/nginx/vhosts.d/*,nginx.conf if &ft == '' | setfiletype nginx | endif
+autocmd BufNewFile,BufRead *.proto setfiletype proto
+au BufRead,BufNewFile *.pp set filetype=puppet
+au BufNewFile,BufRead *.rb,*.rbw,*.gemspec set filetype=ruby
+au BufNewFile,BufRead *.builder,*.rxml,*.rjs set filetype=ruby
+au BufNewFile,BufRead [rR]akefile,*.rake set filetype=ruby
+au BufNewFile,BufRead [rR]antfile,*.rant set filetype=ruby
+au BufNewFile,BufRead .irbrc,irbrc set filetype=ruby
+au BufNewFile,BufRead .pryrc set filetype=ruby
+au BufNewFile,BufRead *.ru set filetype=ruby
+au BufNewFile,BufRead Capfile set filetype=ruby
+au BufNewFile,BufRead Gemfile set filetype=ruby
+au BufNewFile,BufRead Guardfile,.Guardfile set filetype=ruby
+au BufNewFile,BufRead Cheffile set filetype=ruby
+au BufNewFile,BufRead Berksfile set filetype=ruby
+au BufNewFile,BufRead [vV]agrantfile set filetype=ruby
+au BufNewFile,BufRead .autotest set filetype=ruby
+au BufNewFile,BufRead *.erb,*.rhtml set filetype=eruby
+au BufNewFile,BufRead [tT]horfile,*.thor set filetype=ruby
+au BufNewFile,BufRead *.rabl set filetype=ruby
+au BufNewFile,BufRead *.jbuilder set filetype=ruby
+au BufNewFile,BufRead Puppetfile set filetype=ruby
+au BufNewFile,BufRead [Bb]uildfile set filetype=ruby
+au BufNewFile,BufRead Appraisals set filetype=ruby
+au BufRead,BufNewFile *.sbt set filetype=sbt
+fun! s:DetectScala()
+ if getline(1) == '#!/usr/bin/env scala'
+ set filetype=scala
+ endif
+endfun
+au BufRead,BufNewFile *.scala,*.sbt set filetype=scala
+au BufRead,BufNewFile * call s:DetectScala()
+autocmd BufNewFile,BufRead *.slim setf slim
+autocmd BufNewFile,BufReadPost *.styl set filetype=stylus
+autocmd BufNewFile,BufReadPost *.stylus set filetype=stylus
+au BufRead,BufNewFile *.textile set filetype=textile
+autocmd BufNewFile,BufRead .tmux.conf*,tmux.conf* setf tmux
+autocmd BufNewFile,BufRead *.twig set filetype=twig
+autocmd BufNewFile,BufRead *.html.twig set filetype=html.twig