1
0
forked from aniani/vim

updated for version 7.2a-00

This commit is contained in:
Bram Moolenaar
2008-06-25 20:13:35 +00:00
parent 7b6d4a8ce8
commit aba8857aa3
101 changed files with 490 additions and 12020 deletions

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 May 15
" Last Change: 2008 Jun 20
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -320,6 +320,9 @@ au BufNewFile,BufRead *.cs setf cs
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
" Cdrdao config
au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf
" Cfengine
au BufNewFile,BufRead cfengine.conf setf cfengine
@@ -349,12 +352,22 @@ else
au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
endif
" .h files can be C, Ch or C++, set c_syntax_for_h if you want C,
" ch_syntax_for_h if you want Ch.
au BufNewFile,BufRead *.h
\ if exists("c_syntax_for_h") | setf c |
\ elseif exists("ch_syntax_for_h") | setf ch |
\ else | setf cpp | endif
" .h files can be C, Ch C++, ObjC or ObjC++.
" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is
" detected automatically.
au BufNewFile,BufRead *.h call s:FTheader()
func! s:FTheader()
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
setf objc
elseif exists("c_syntax_for_h")
setf c
elseif exists("ch_syntax_for_h")
setf ch
else
setf cpp
endif
endfunc
" Ch (CHscript)
au BufNewFile,BufRead *.chf setf ch
@@ -476,12 +489,18 @@ au BufNewFile,BufRead *.cpy
\ setf cobol |
\ endif
" Coco/R
au BufNewFile,BufRead *.atg setf coco
" Cold Fusion
au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
" Configure scripts
au BufNewFile,BufRead configure.in,configure.ac setf config
" CUDA Cumpute Unified Device Architecture
au BufNewFile,BufRead *.cu setf cuda
" WildPackets EtherPeek Decoder
au BufNewFile,BufRead *.dcd setf dcd
@@ -513,15 +532,31 @@ au BufNewFile,BufRead *.si setf cuplsim
" Debian Control
au BufNewFile,BufRead */debian/control setf debcontrol
au BufNewFile,BufRead control
\ if getline(1) =~ '^Source:'
\| setf debcontrol
\| endif
" Debian Sources.list
au BufNewFile,BufRead /etc/apt/sources.list setf debsources
" Deny hosts
au BufNewFile,BufRead denyhosts.conf setf denyhosts
" ROCKLinux package description
au BufNewFile,BufRead *.desc setf desc
" the D language
au BufNewFile,BufRead *.d setf d
" the D language or dtrace
au BufNewFile,BufRead *.d call s:DtraceCheck()
func! s:DtraceCheck()
let lines = getline(1, min([line("$"), 100]))
if match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
setf dtrace
else
setf d
endif
endfunc
" Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop
@@ -597,8 +632,8 @@ func! s:FTe()
setf eiffel
endfunc
" ERicsson LANGuage
au BufNewFile,BufRead *.erl setf erlang
" ERicsson LANGuage; Yaws is erlang too
au BufNewFile,BufRead *.erl,*.yaws setf erlang
" Elm Filter Rules file
au BufNewFile,BufRead filter-rules setf elmfilt
@@ -643,11 +678,14 @@ au BufNewFile,BufRead *.mas,*.master setf master
" Forth
au BufNewFile,BufRead *.fs,*.ft setf forth
" Reva Forth
au BufNewFile,BufRead *.frt setf reva
" Fortran
if has("fname_case")
au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran
endif
au BufNewFile,BufRead *.f,*.for,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran
au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran
" FStab
au BufNewFile,BufRead fstab,mtab setf fstab
@@ -661,6 +699,19 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
" Gedcom
au BufNewFile,BufRead *.ged setf gedcom
" Git
autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
autocmd BufNewFile,BufRead .msg.[0-9]*
\ if getline(1) =~ '^From.*# This line is ignored.$' |
\ setf gitsendemail |
\ endif
autocmd BufNewFile,BufRead *.git/**
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
\ setf git |
\ endif
" Gkrellmrc
au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc
@@ -701,6 +752,9 @@ au BufNewFile,BufRead *.hs setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
" Haste
au BufNewFile,BufRead *.ht setf haste
" Hercules
au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules
@@ -739,6 +793,9 @@ au BufNewFile,BufRead *.html.m4 setf htmlm4
" HTML Cheetah template
au BufNewFile,BufRead *.tmpl setf htmlcheetah
" Host config
au BufNewFile,BufRead /etc/host.conf setf hostconf
" Hyper Builder
au BufNewFile,BufRead *.hb setf hb
@@ -922,6 +979,9 @@ au BufNewFile,BufRead *.lou,*.lout setf lout
" Lua
au BufNewFile,BufRead *.lua setf lua
" Linden Scripting Language (Second Life)
au BufNewFile,BufRead *.lsl setf lsl
" Lynx style file (or LotusScript!)
au BufNewFile,BufRead *.lss setf lss
@@ -933,7 +993,7 @@ au BufNewFile,BufRead *.m4
au BufNewFile,BufRead *.mgp setf mgp
" Mail (for Elm, trn, mutt, muttng, rn, slrn)
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]._-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
" Mail aliases
au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
@@ -987,6 +1047,9 @@ func! s:FTm()
endif
endfunc
" Mathematica notebook
au BufNewFile,BufRead *.nb setf mma
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
@@ -1005,6 +1068,9 @@ au BufNewFile,BufRead *.mgl setf mgl
" MMIX or VMS makefile
au BufNewFile,BufRead *.mms call s:FTmms()
" Symbian meta-makefile definition (MMP)
au BufNewFile,BufRead *.mmp setf mmp
func! s:FTmms()
let n = 1
while n < 10
@@ -1075,8 +1141,7 @@ au BufRead,BufNewFile *.mu setf mupad
au BufNewFile,BufRead *.mush setf mush
" Mutt setup file (also for Muttng)
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
" Nano
au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
@@ -1169,6 +1234,9 @@ au BufNewFile,BufRead *.pas setf pascal
" Delphi project file
au BufNewFile,BufRead *.dpr setf pascal
" PDF
au BufNewFile,BufRead *.pdf setf pdf
" Perl
if has("fname_case")
au BufNewFile,BufRead *.pl,*.PL call s:FTpl()
@@ -1206,10 +1274,9 @@ au BufNewFile,BufRead *.pm
au BufNewFile,BufRead *.pod setf pod
" Php, php3, php4, etc.
au BufNewFile,BufRead *.php,*.php\d setf php
" Phtml
au BufNewFile,BufRead *.phtml setf phtml
" Also Phtml (was used for PHP 2 in the past)
" Also .ctp for Cake template file
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
" Pike
au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike
@@ -1377,6 +1444,9 @@ au BufNewFile,BufRead INDEX,INFO
" Prolog
au BufNewFile,BufRead *.pdb setf prolog
" Promela
au BufNewFile,BufRead *.pml setf promela
" Protocols
au BufNewFile,BufRead /etc/protocols setf protocols
@@ -1406,7 +1476,7 @@ au BufNewFile,BufRead *.reg
au BufNewFile,BufRead *.rib setf rib
" Rexx
au BufNewFile,BufRead *.rexx,*.rex setf rexx
au BufNewFile,BufRead *.rexx,*.rex,*.jrexx,*.rxj,*.orx setf rexx
" R (Splus)
if has("fname_case")
@@ -1437,7 +1507,7 @@ func! s:FTr()
for n in range(1, max)
" Rebol is easy to recognize, check for that first
if getline(n) =~ '\<REBOL\>'
if getline(n) =~? '\<REBOL\>'
setf rebol
return
endif
@@ -1523,8 +1593,24 @@ au BufNewFile,BufRead *.siv setf sieve
" Sendmail
au BufNewFile,BufRead sendmail.cf setf sm
" Sendmail .mc files are actually m4
au BufNewFile,BufRead *.mc setf m4
" Sendmail .mc files are actually m4. Could also be MS Message text file.
au BufNewFile,BufRead *.mc call s:McSetf()
func! s:McSetf()
" Rely on the file to start with a comment.
" MS message text files use ';', Sendmail files use '#' or 'dnl'
for lnum in range(1, min([line("$"), 20]))
let line = getline(lnum)
if line =~ '^\s*\(#\|dnl\)'
setf m4 " Sendmail .mc file
return
elseif line =~ '^\s*;'
setf msmessages " MS Message text file
return
endif
endfor
setf m4 " Default: Sendmail .mc file
endfunc
" Services
au BufNewFile,BufRead /etc/services setf services
@@ -1710,17 +1796,21 @@ au BufNewFile,BufRead *.rules call s:FTRules()
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func! s:FTRules()
if expand('<amatch>:p') =~ '^/etc/udev/rules\.d/.*\.rules$'
setf udevrules
return
endif
try
let config_lines = readfile('/etc/udev/udev.conf')
catch /^Vim\%((\a\+)\)\=:E484/
setf hog
return
endtry
let dir = expand('<amatch>:p:h')
for line in config_lines
if line =~ s:ft_rules_udev_rules_pattern
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
let amatch_dirname = substitute(expand('<amatch>'), '^\(.*\)/[^/]\+$', '\1', "")
if amatch_dirname == udev_rules
if dir == udev_rules
setf udevrules
endif
break
@@ -1786,6 +1876,9 @@ au BufNewFile,BufRead *.stp setf stp
" Standard ML
au BufNewFile,BufRead *.sml setf sml
" Sratus VOS command macro
au BufNewFile,BufRead *.cm setf voscm
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
@@ -1892,8 +1985,8 @@ func! s:FTtex()
return
endfunc
" Context
au BufNewFile,BufRead tex/context/*/*.tex setf context
" ConTeXt
au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context
" Texinfo
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
@@ -1928,9 +2021,6 @@ au BufNewFile,BufRead *.uit,*.uil setf uil
" Udev conf
au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
" Udev rules
au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules
" Udev permissions
au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
"
@@ -2049,14 +2139,26 @@ au BufNewFile,BufRead *.msc,*.msf setf xmath
au BufNewFile,BufRead *.ms
\ if !s:FTnroff() | setf xmath | endif
" XML
au BufNewFile,BufRead *.xml
\ if getline(1) . getline(2) . getline(3) =~ '<!DOCTYPE.*DocBook' |
\ let b:docbk_type="xml" |
\ setf docbk |
\ else |
\ setf xml |
\ endif
" XML specific variants: docbk and xbl
au BufNewFile,BufRead *.xml call s:FTxml()
func! s:FTxml()
let n = 1
while n < 100 && n < line("$")
let line = getline(n)
if line =~ '<!DOCTYPE.*DocBook'
let b:docbk_type = "xml"
setf docbk
return
endif
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
setf xbl
return
endif
let n += 1
endwhile
setf xml
endfunc
" XMI (holding UML models) is also XML
au BufNewFile,BufRead *.xmi setf xml
@@ -2073,6 +2175,16 @@ au BufNewFile,BufRead *.tpm setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
" ATI graphics driver configuration
au BufNewFile,BufRead fglrxrc setf xml
" XLIFF (XML Localisation Interchange File Format) is also XML
au BufNewFile,BufRead *.xlf setf xml
au BufNewFile,BufRead *.xliff setf xml
" X11 xmodmap (also see below)
au BufNewFile,BufRead *Xmodmap setf xmodmap
" Xquery
au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery
@@ -2201,13 +2313,17 @@ au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
" Ruby Makefile
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
" Mail (also matches muttrc.vim, so this is below the other checks)
au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\} setf mail
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
" Mutt setup file
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
" Nroff macros