comparison runtime/filetype.vim @ 1648:58cad056e608 v7.2a.00

updated for version 7.2a-00
author vimboss
date Wed, 25 Jun 2008 20:13:35 +0000
parents a0c01df852e1
children 0b796e045c42
comparison
equal deleted inserted replaced
1647:484fb4dfd452 1648:58cad056e608
1 " Vim support file to detect file types 1 " Vim support file to detect file types
2 " 2 "
3 " Maintainer: Bram Moolenaar <Bram@vim.org> 3 " Maintainer: Bram Moolenaar <Bram@vim.org>
4 " Last Change: 2007 May 15 4 " Last Change: 2008 Jun 20
5 5
6 " Listen very carefully, I will say this only once 6 " Listen very carefully, I will say this only once
7 if exists("did_load_filetypes") 7 if exists("did_load_filetypes")
8 finish 8 finish
9 endif 9 endif
318 au BufNewFile,BufRead *.cs setf cs 318 au BufNewFile,BufRead *.cs setf cs
319 319
320 " Cdrdao TOC 320 " Cdrdao TOC
321 au BufNewFile,BufRead *.toc setf cdrtoc 321 au BufNewFile,BufRead *.toc setf cdrtoc
322 322
323 " Cdrdao config
324 au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf
325
323 " Cfengine 326 " Cfengine
324 au BufNewFile,BufRead cfengine.conf setf cfengine 327 au BufNewFile,BufRead cfengine.conf setf cfengine
325 328
326 " Comshare Dimension Definition Language 329 " Comshare Dimension Definition Language
327 au BufNewFile,BufRead *.cdl setf cdl 330 au BufNewFile,BufRead *.cdl setf cdl
347 au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp 350 au BufNewFile,BufRead *.cxx,*.c++,*.C,*.H,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
348 else 351 else
349 au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp 352 au BufNewFile,BufRead *.cxx,*.c++,*.hh,*.hxx,*.hpp,*.moc,*.tcc,*.inl setf cpp
350 endif 353 endif
351 354
352 " .h files can be C, Ch or C++, set c_syntax_for_h if you want C, 355 " .h files can be C, Ch C++, ObjC or ObjC++.
353 " ch_syntax_for_h if you want Ch. 356 " Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is
354 au BufNewFile,BufRead *.h 357 " detected automatically.
355 \ if exists("c_syntax_for_h") | setf c | 358 au BufNewFile,BufRead *.h call s:FTheader()
356 \ elseif exists("ch_syntax_for_h") | setf ch | 359
357 \ else | setf cpp | endif 360 func! s:FTheader()
361 if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
362 setf objc
363 elseif exists("c_syntax_for_h")
364 setf c
365 elseif exists("ch_syntax_for_h")
366 setf ch
367 else
368 setf cpp
369 endif
370 endfunc
358 371
359 " Ch (CHscript) 372 " Ch (CHscript)
360 au BufNewFile,BufRead *.chf setf ch 373 au BufNewFile,BufRead *.chf setf ch
361 374
362 " TLH files are C++ headers generated by Visual C++'s #import from typelibs 375 " TLH files are C++ headers generated by Visual C++'s #import from typelibs
474 \ setf python | 487 \ setf python |
475 \ else | 488 \ else |
476 \ setf cobol | 489 \ setf cobol |
477 \ endif 490 \ endif
478 491
492 " Coco/R
493 au BufNewFile,BufRead *.atg setf coco
494
479 " Cold Fusion 495 " Cold Fusion
480 au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf 496 au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
481 497
482 " Configure scripts 498 " Configure scripts
483 au BufNewFile,BufRead configure.in,configure.ac setf config 499 au BufNewFile,BufRead configure.in,configure.ac setf config
500
501 " CUDA Cumpute Unified Device Architecture
502 au BufNewFile,BufRead *.cu setf cuda
484 503
485 " WildPackets EtherPeek Decoder 504 " WildPackets EtherPeek Decoder
486 au BufNewFile,BufRead *.dcd setf dcd 505 au BufNewFile,BufRead *.dcd setf dcd
487 506
488 " Enlightenment configuration files 507 " Enlightenment configuration files
511 au BufNewFile,BufRead *.pld setf cupl 530 au BufNewFile,BufRead *.pld setf cupl
512 au BufNewFile,BufRead *.si setf cuplsim 531 au BufNewFile,BufRead *.si setf cuplsim
513 532
514 " Debian Control 533 " Debian Control
515 au BufNewFile,BufRead */debian/control setf debcontrol 534 au BufNewFile,BufRead */debian/control setf debcontrol
535 au BufNewFile,BufRead control
536 \ if getline(1) =~ '^Source:'
537 \| setf debcontrol
538 \| endif
516 539
517 " Debian Sources.list 540 " Debian Sources.list
518 au BufNewFile,BufRead /etc/apt/sources.list setf debsources 541 au BufNewFile,BufRead /etc/apt/sources.list setf debsources
519 542
543 " Deny hosts
544 au BufNewFile,BufRead denyhosts.conf setf denyhosts
545
520 " ROCKLinux package description 546 " ROCKLinux package description
521 au BufNewFile,BufRead *.desc setf desc 547 au BufNewFile,BufRead *.desc setf desc
522 548
523 " the D language 549 " the D language or dtrace
524 au BufNewFile,BufRead *.d setf d 550 au BufNewFile,BufRead *.d call s:DtraceCheck()
551
552 func! s:DtraceCheck()
553 let lines = getline(1, min([line("$"), 100]))
554 if match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
555 setf dtrace
556 else
557 setf d
558 endif
559 endfunc
525 560
526 " Desktop files 561 " Desktop files
527 au BufNewFile,BufRead *.desktop,.directory setf desktop 562 au BufNewFile,BufRead *.desktop,.directory setf desktop
528 563
529 " Dict config 564 " Dict config
595 let n = n + 1 630 let n = n + 1
596 endwhile 631 endwhile
597 setf eiffel 632 setf eiffel
598 endfunc 633 endfunc
599 634
600 " ERicsson LANGuage 635 " ERicsson LANGuage; Yaws is erlang too
601 au BufNewFile,BufRead *.erl setf erlang 636 au BufNewFile,BufRead *.erl,*.yaws setf erlang
602 637
603 " Elm Filter Rules file 638 " Elm Filter Rules file
604 au BufNewFile,BufRead filter-rules setf elmfilt 639 au BufNewFile,BufRead filter-rules setf elmfilt
605 640
606 " ESMTP rc file 641 " ESMTP rc file
640 au BufNewFile,BufRead auto.master setf conf 675 au BufNewFile,BufRead auto.master setf conf
641 au BufNewFile,BufRead *.mas,*.master setf master 676 au BufNewFile,BufRead *.mas,*.master setf master
642 677
643 " Forth 678 " Forth
644 au BufNewFile,BufRead *.fs,*.ft setf forth 679 au BufNewFile,BufRead *.fs,*.ft setf forth
680
681 " Reva Forth
682 au BufNewFile,BufRead *.frt setf reva
645 683
646 " Fortran 684 " Fortran
647 if has("fname_case") 685 if has("fname_case")
648 au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran 686 au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95 setf fortran
649 endif 687 endif
650 au BufNewFile,BufRead *.f,*.for,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran 688 au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95 setf fortran
651 689
652 " FStab 690 " FStab
653 au BufNewFile,BufRead fstab,mtab setf fstab 691 au BufNewFile,BufRead fstab,mtab setf fstab
654 692
655 " GDB command files 693 " GDB command files
658 " GDMO 696 " GDMO
659 au BufNewFile,BufRead *.mo,*.gdmo setf gdmo 697 au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
660 698
661 " Gedcom 699 " Gedcom
662 au BufNewFile,BufRead *.ged setf gedcom 700 au BufNewFile,BufRead *.ged setf gedcom
701
702 " Git
703 autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
704 autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
705 autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
706 autocmd BufNewFile,BufRead .msg.[0-9]*
707 \ if getline(1) =~ '^From.*# This line is ignored.$' |
708 \ setf gitsendemail |
709 \ endif
710 autocmd BufNewFile,BufRead *.git/**
711 \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
712 \ setf git |
713 \ endif
663 714
664 " Gkrellmrc 715 " Gkrellmrc
665 au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc 716 au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc
666 717
667 " GP scripts (2.0 and onward) 718 " GP scripts (2.0 and onward)
698 749
699 " Haskell 750 " Haskell
700 au BufNewFile,BufRead *.hs setf haskell 751 au BufNewFile,BufRead *.hs setf haskell
701 au BufNewFile,BufRead *.lhs setf lhaskell 752 au BufNewFile,BufRead *.lhs setf lhaskell
702 au BufNewFile,BufRead *.chs setf chaskell 753 au BufNewFile,BufRead *.chs setf chaskell
754
755 " Haste
756 au BufNewFile,BufRead *.ht setf haste
703 757
704 " Hercules 758 " Hercules
705 au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules 759 au BufNewFile,BufRead *.vc,*.ev,*.rs,*.sum,*.errsum setf hercules
706 760
707 " HEX (Intel) 761 " HEX (Intel)
736 " HTML with M4 790 " HTML with M4
737 au BufNewFile,BufRead *.html.m4 setf htmlm4 791 au BufNewFile,BufRead *.html.m4 setf htmlm4
738 792
739 " HTML Cheetah template 793 " HTML Cheetah template
740 au BufNewFile,BufRead *.tmpl setf htmlcheetah 794 au BufNewFile,BufRead *.tmpl setf htmlcheetah
795
796 " Host config
797 au BufNewFile,BufRead /etc/host.conf setf hostconf
741 798
742 " Hyper Builder 799 " Hyper Builder
743 au BufNewFile,BufRead *.hb setf hb 800 au BufNewFile,BufRead *.hb setf hb
744 801
745 " Icon 802 " Icon
920 au BufNewFile,BufRead *.lou,*.lout setf lout 977 au BufNewFile,BufRead *.lou,*.lout setf lout
921 978
922 " Lua 979 " Lua
923 au BufNewFile,BufRead *.lua setf lua 980 au BufNewFile,BufRead *.lua setf lua
924 981
982 " Linden Scripting Language (Second Life)
983 au BufNewFile,BufRead *.lsl setf lsl
984
925 " Lynx style file (or LotusScript!) 985 " Lynx style file (or LotusScript!)
926 au BufNewFile,BufRead *.lss setf lss 986 au BufNewFile,BufRead *.lss setf lss
927 987
928 " M4 988 " M4
929 au BufNewFile,BufRead *.m4 989 au BufNewFile,BufRead *.m4
931 991
932 " MaGic Point 992 " MaGic Point
933 au BufNewFile,BufRead *.mgp setf mgp 993 au BufNewFile,BufRead *.mgp setf mgp
934 994
935 " Mail (for Elm, trn, mutt, muttng, rn, slrn) 995 " Mail (for Elm, trn, mutt, muttng, rn, slrn)
936 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 996 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
937 997
938 " Mail aliases 998 " Mail aliases
939 au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases 999 au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
940 1000
941 " Mailcap configuration file 1001 " Mailcap configuration file
985 else 1045 else
986 setf matlab 1046 setf matlab
987 endif 1047 endif
988 endfunc 1048 endfunc
989 1049
1050 " Mathematica notebook
1051 au BufNewFile,BufRead *.nb setf mma
1052
990 " Maya Extension Language 1053 " Maya Extension Language
991 au BufNewFile,BufRead *.mel setf mel 1054 au BufNewFile,BufRead *.mel setf mel
992 1055
993 " Messages 1056 " Messages
994 au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages 1057 au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
1002 " MGL 1065 " MGL
1003 au BufNewFile,BufRead *.mgl setf mgl 1066 au BufNewFile,BufRead *.mgl setf mgl
1004 1067
1005 " MMIX or VMS makefile 1068 " MMIX or VMS makefile
1006 au BufNewFile,BufRead *.mms call s:FTmms() 1069 au BufNewFile,BufRead *.mms call s:FTmms()
1070
1071 " Symbian meta-makefile definition (MMP)
1072 au BufNewFile,BufRead *.mmp setf mmp
1007 1073
1008 func! s:FTmms() 1074 func! s:FTmms()
1009 let n = 1 1075 let n = 1
1010 while n < 10 1076 while n < 10
1011 let line = getline(n) 1077 let line = getline(n)
1073 1139
1074 " Mush 1140 " Mush
1075 au BufNewFile,BufRead *.mush setf mush 1141 au BufNewFile,BufRead *.mush setf mush
1076 1142
1077 " Mutt setup file (also for Muttng) 1143 " Mutt setup file (also for Muttng)
1078 au BufNewFile,BufRead Mutt{ng,}rc setf muttrc 1144 au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
1079 au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
1080 1145
1081 " Nano 1146 " Nano
1082 au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc 1147 au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
1083 1148
1084 " Nastran input/DMAP 1149 " Nastran input/DMAP
1166 " Pascal (also *.p) 1231 " Pascal (also *.p)
1167 au BufNewFile,BufRead *.pas setf pascal 1232 au BufNewFile,BufRead *.pas setf pascal
1168 1233
1169 " Delphi project file 1234 " Delphi project file
1170 au BufNewFile,BufRead *.dpr setf pascal 1235 au BufNewFile,BufRead *.dpr setf pascal
1236
1237 " PDF
1238 au BufNewFile,BufRead *.pdf setf pdf
1171 1239
1172 " Perl 1240 " Perl
1173 if has("fname_case") 1241 if has("fname_case")
1174 au BufNewFile,BufRead *.pl,*.PL call s:FTpl() 1242 au BufNewFile,BufRead *.pl,*.PL call s:FTpl()
1175 else 1243 else
1204 1272
1205 " Perl POD 1273 " Perl POD
1206 au BufNewFile,BufRead *.pod setf pod 1274 au BufNewFile,BufRead *.pod setf pod
1207 1275
1208 " Php, php3, php4, etc. 1276 " Php, php3, php4, etc.
1209 au BufNewFile,BufRead *.php,*.php\d setf php 1277 " Also Phtml (was used for PHP 2 in the past)
1210 1278 " Also .ctp for Cake template file
1211 " Phtml 1279 au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
1212 au BufNewFile,BufRead *.phtml setf phtml
1213 1280
1214 " Pike 1281 " Pike
1215 au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike 1282 au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike
1216 1283
1217 " Pinfo config 1284 " Pinfo config
1375 \ endif 1442 \ endif
1376 1443
1377 " Prolog 1444 " Prolog
1378 au BufNewFile,BufRead *.pdb setf prolog 1445 au BufNewFile,BufRead *.pdb setf prolog
1379 1446
1447 " Promela
1448 au BufNewFile,BufRead *.pml setf promela
1449
1380 " Protocols 1450 " Protocols
1381 au BufNewFile,BufRead /etc/protocols setf protocols 1451 au BufNewFile,BufRead /etc/protocols setf protocols
1382 1452
1383 " Pyrex 1453 " Pyrex
1384 au BufNewFile,BufRead *.pyx,*.pxd setf pyrex 1454 au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
1404 1474
1405 " Renderman Interface Bytestream 1475 " Renderman Interface Bytestream
1406 au BufNewFile,BufRead *.rib setf rib 1476 au BufNewFile,BufRead *.rib setf rib
1407 1477
1408 " Rexx 1478 " Rexx
1409 au BufNewFile,BufRead *.rexx,*.rex setf rexx 1479 au BufNewFile,BufRead *.rexx,*.rex,*.jrexx,*.rxj,*.orx setf rexx
1410 1480
1411 " R (Splus) 1481 " R (Splus)
1412 if has("fname_case") 1482 if has("fname_case")
1413 au BufNewFile,BufRead *.s,*.S setf r 1483 au BufNewFile,BufRead *.s,*.S setf r
1414 else 1484 else
1435 func! s:FTr() 1505 func! s:FTr()
1436 let max = line("$") > 50 ? 50 : line("$") 1506 let max = line("$") > 50 ? 50 : line("$")
1437 1507
1438 for n in range(1, max) 1508 for n in range(1, max)
1439 " Rebol is easy to recognize, check for that first 1509 " Rebol is easy to recognize, check for that first
1440 if getline(n) =~ '\<REBOL\>' 1510 if getline(n) =~? '\<REBOL\>'
1441 setf rebol 1511 setf rebol
1442 return 1512 return
1443 endif 1513 endif
1444 endfor 1514 endfor
1445 1515
1521 au BufNewFile,BufRead *.siv setf sieve 1591 au BufNewFile,BufRead *.siv setf sieve
1522 1592
1523 " Sendmail 1593 " Sendmail
1524 au BufNewFile,BufRead sendmail.cf setf sm 1594 au BufNewFile,BufRead sendmail.cf setf sm
1525 1595
1526 " Sendmail .mc files are actually m4 1596 " Sendmail .mc files are actually m4. Could also be MS Message text file.
1527 au BufNewFile,BufRead *.mc setf m4 1597 au BufNewFile,BufRead *.mc call s:McSetf()
1598
1599 func! s:McSetf()
1600 " Rely on the file to start with a comment.
1601 " MS message text files use ';', Sendmail files use '#' or 'dnl'
1602 for lnum in range(1, min([line("$"), 20]))
1603 let line = getline(lnum)
1604 if line =~ '^\s*\(#\|dnl\)'
1605 setf m4 " Sendmail .mc file
1606 return
1607 elseif line =~ '^\s*;'
1608 setf msmessages " MS Message text file
1609 return
1610 endif
1611 endfor
1612 setf m4 " Default: Sendmail .mc file
1613 endfunc
1528 1614
1529 " Services 1615 " Services
1530 au BufNewFile,BufRead /etc/services setf services 1616 au BufNewFile,BufRead /etc/services setf services
1531 1617
1532 " Service Location config 1618 " Service Location config
1708 au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog 1794 au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog
1709 au BufNewFile,BufRead *.rules call s:FTRules() 1795 au BufNewFile,BufRead *.rules call s:FTRules()
1710 1796
1711 let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*' 1797 let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
1712 func! s:FTRules() 1798 func! s:FTRules()
1799 if expand('<amatch>:p') =~ '^/etc/udev/rules\.d/.*\.rules$'
1800 setf udevrules
1801 return
1802 endif
1713 try 1803 try
1714 let config_lines = readfile('/etc/udev/udev.conf') 1804 let config_lines = readfile('/etc/udev/udev.conf')
1715 catch /^Vim\%((\a\+)\)\=:E484/ 1805 catch /^Vim\%((\a\+)\)\=:E484/
1716 setf hog 1806 setf hog
1717 return 1807 return
1718 endtry 1808 endtry
1809 let dir = expand('<amatch>:p:h')
1719 for line in config_lines 1810 for line in config_lines
1720 if line =~ s:ft_rules_udev_rules_pattern 1811 if line =~ s:ft_rules_udev_rules_pattern
1721 let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "") 1812 let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
1722 let amatch_dirname = substitute(expand('<amatch>'), '^\(.*\)/[^/]\+$', '\1', "") 1813 if dir == udev_rules
1723 if amatch_dirname == udev_rules
1724 setf udevrules 1814 setf udevrules
1725 endif 1815 endif
1726 break 1816 break
1727 endif 1817 endif
1728 endfor 1818 endfor
1783 " Stored Procedures 1873 " Stored Procedures
1784 au BufNewFile,BufRead *.stp setf stp 1874 au BufNewFile,BufRead *.stp setf stp
1785 1875
1786 " Standard ML 1876 " Standard ML
1787 au BufNewFile,BufRead *.sml setf sml 1877 au BufNewFile,BufRead *.sml setf sml
1878
1879 " Sratus VOS command macro
1880 au BufNewFile,BufRead *.cm setf voscm
1788 1881
1789 " Sysctl 1882 " Sysctl
1790 au BufNewFile,BufRead /etc/sysctl.conf setf sysctl 1883 au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
1791 1884
1792 " Sudoers 1885 " Sudoers
1890 setf tex 1983 setf tex
1891 endif 1984 endif
1892 return 1985 return
1893 endfunc 1986 endfunc
1894 1987
1895 " Context 1988 " ConTeXt
1896 au BufNewFile,BufRead tex/context/*/*.tex setf context 1989 au BufNewFile,BufRead tex/context/*/*.tex,*.mkii,*.mkiv setf context
1897 1990
1898 " Texinfo 1991 " Texinfo
1899 au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo 1992 au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
1900 1993
1901 " TeX configuration 1994 " TeX configuration
1925 " Motif UIT/UIL files 2018 " Motif UIT/UIL files
1926 au BufNewFile,BufRead *.uit,*.uil setf uil 2019 au BufNewFile,BufRead *.uit,*.uil setf uil
1927 2020
1928 " Udev conf 2021 " Udev conf
1929 au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf 2022 au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
1930
1931 " Udev rules
1932 au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules
1933 2023
1934 " Udev permissions 2024 " Udev permissions
1935 au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm 2025 au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
1936 " 2026 "
1937 " Udev symlinks config 2027 " Udev symlinks config
2047 " Xmath 2137 " Xmath
2048 au BufNewFile,BufRead *.msc,*.msf setf xmath 2138 au BufNewFile,BufRead *.msc,*.msf setf xmath
2049 au BufNewFile,BufRead *.ms 2139 au BufNewFile,BufRead *.ms
2050 \ if !s:FTnroff() | setf xmath | endif 2140 \ if !s:FTnroff() | setf xmath | endif
2051 2141
2052 " XML 2142 " XML specific variants: docbk and xbl
2053 au BufNewFile,BufRead *.xml 2143 au BufNewFile,BufRead *.xml call s:FTxml()
2054 \ if getline(1) . getline(2) . getline(3) =~ '<!DOCTYPE.*DocBook' | 2144
2055 \ let b:docbk_type="xml" | 2145 func! s:FTxml()
2056 \ setf docbk | 2146 let n = 1
2057 \ else | 2147 while n < 100 && n < line("$")
2058 \ setf xml | 2148 let line = getline(n)
2059 \ endif 2149 if line =~ '<!DOCTYPE.*DocBook'
2150 let b:docbk_type = "xml"
2151 setf docbk
2152 return
2153 endif
2154 if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
2155 setf xbl
2156 return
2157 endif
2158 let n += 1
2159 endwhile
2160 setf xml
2161 endfunc
2060 2162
2061 " XMI (holding UML models) is also XML 2163 " XMI (holding UML models) is also XML
2062 au BufNewFile,BufRead *.xmi setf xml 2164 au BufNewFile,BufRead *.xmi setf xml
2063 2165
2064 " CSPROJ files are Visual Studio.NET's XML-based project config files 2166 " CSPROJ files are Visual Studio.NET's XML-based project config files
2070 " TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull) 2172 " TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull)
2071 au BufNewFile,BufRead *.tpm setf xml 2173 au BufNewFile,BufRead *.tpm setf xml
2072 2174
2073 " Xdg menus 2175 " Xdg menus
2074 au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml 2176 au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
2177
2178 " ATI graphics driver configuration
2179 au BufNewFile,BufRead fglrxrc setf xml
2180
2181 " XLIFF (XML Localisation Interchange File Format) is also XML
2182 au BufNewFile,BufRead *.xlf setf xml
2183 au BufNewFile,BufRead *.xliff setf xml
2184
2185 " X11 xmodmap (also see below)
2186 au BufNewFile,BufRead *Xmodmap setf xmodmap
2075 2187
2076 " Xquery 2188 " Xquery
2077 au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery 2189 au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery
2078 2190
2079 " XSD 2191 " XSD
2199 au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig') 2311 au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
2200 2312
2201 " Makefile 2313 " Makefile
2202 au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') 2314 au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
2203 2315
2316 " Ruby Makefile
2317 au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
2318
2319 " Mail (also matches muttrc.vim, so this is below the other checks)
2320 au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\} setf mail
2321
2204 " Modconf 2322 " Modconf
2205 au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf') 2323 au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
2206 2324
2207 " Ruby Makefile
2208 au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
2209
2210 " Mutt setup file 2325 " Mutt setup file
2326 au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
2211 au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc') 2327 au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
2212 2328
2213 " Nroff macros 2329 " Nroff macros
2214 au BufNewFile,BufRead tmac.* call s:StarSetf('nroff') 2330 au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
2215 2331