mirror of
https://github.com/neovim/neovim.git
synced 2025-10-18 15:51:50 +00:00
vim-patch:8.0.1285
d09a206ee9
vim-patch:8.0.0564: cannot detect Bazel BUILD files on some systems
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 09
|
||||
" Last Change: 2017 Nov 11
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -10,7 +10,7 @@
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
func filetype#Check_inp()
|
||||
func dist#ft#Check_inp()
|
||||
if getline(1) =~ '^\*'
|
||||
setf abaqus
|
||||
else
|
||||
@@ -32,14 +32,14 @@ endfunc
|
||||
|
||||
" This function checks for the kind of assembly that is wanted by the user, or
|
||||
" can be detected from the first five lines of the file.
|
||||
func filetype#FTasm()
|
||||
func dist#ft#FTasm()
|
||||
" make sure b:asmsyntax exists
|
||||
if !exists("b:asmsyntax")
|
||||
let b:asmsyntax = ""
|
||||
endif
|
||||
|
||||
if b:asmsyntax == ""
|
||||
call filetype#FTasmsyntax()
|
||||
call dist#ft#FTasmsyntax()
|
||||
endif
|
||||
|
||||
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||
@@ -54,7 +54,7 @@ func filetype#FTasm()
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
endfunc
|
||||
|
||||
func filetype#FTasmsyntax()
|
||||
func dist#ft#FTasmsyntax()
|
||||
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||
" b:asmsyntax appropriately
|
||||
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||
@@ -69,7 +69,7 @@ endfunc
|
||||
|
||||
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||
func filetype#FTVB(alt)
|
||||
func dist#ft#FTVB(alt)
|
||||
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
setf vb
|
||||
else
|
||||
@@ -77,7 +77,7 @@ func filetype#FTVB(alt)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTbtm()
|
||||
func dist#ft#FTbtm()
|
||||
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||
setf dosbatch
|
||||
else
|
||||
@@ -85,7 +85,7 @@ func filetype#FTbtm()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#BindzoneCheck(default)
|
||||
func dist#ft#BindzoneCheck(default)
|
||||
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||
setf bindzone
|
||||
elseif a:default != ''
|
||||
@@ -93,7 +93,7 @@ func filetype#BindzoneCheck(default)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTlpc()
|
||||
func dist#ft#FTlpc()
|
||||
if exists("g:lpc_syntax_for_c")
|
||||
let lnum = 1
|
||||
while lnum <= 12
|
||||
@@ -107,7 +107,7 @@ func filetype#FTlpc()
|
||||
setf c
|
||||
endfunc
|
||||
|
||||
func filetype#FTheader()
|
||||
func dist#ft#FTheader()
|
||||
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||
if exists("g:c_syntax_for_h")
|
||||
setf objc
|
||||
@@ -128,7 +128,7 @@ endfunc
|
||||
" If the first line starts with # or ! it's probably a ch file.
|
||||
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||
" Otherwise CHILL is assumed.
|
||||
func filetype#FTchange()
|
||||
func dist#ft#FTchange()
|
||||
let lnum = 1
|
||||
while lnum <= 10
|
||||
if getline(lnum)[0] == '@'
|
||||
@@ -152,7 +152,7 @@ func filetype#FTchange()
|
||||
setf chill
|
||||
endfunc
|
||||
|
||||
func filetype#FTent()
|
||||
func dist#ft#FTent()
|
||||
" This function checks for valid cl syntax in the first five lines.
|
||||
" Look for either an opening comment, '#', or a block start, '{".
|
||||
" If not found, assume SGML.
|
||||
@@ -172,7 +172,7 @@ func filetype#FTent()
|
||||
setf dtd
|
||||
endfunc
|
||||
|
||||
func filetype#EuphoriaCheck()
|
||||
func dist#ft#EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
@@ -180,7 +180,7 @@ func filetype#EuphoriaCheck()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#DtraceCheck()
|
||||
func dist#ft#DtraceCheck()
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
if match(lines, '^module\>\|^import\>') > -1
|
||||
" D files often start with a module and/or import statement.
|
||||
@@ -192,7 +192,7 @@ func filetype#DtraceCheck()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTe()
|
||||
func dist#ft#FTe()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
@@ -209,7 +209,7 @@ func filetype#FTe()
|
||||
endfunc
|
||||
|
||||
" Distinguish between HTML, XHTML and Django
|
||||
func filetype#FThtml()
|
||||
func dist#ft#FThtml()
|
||||
let n = 1
|
||||
while n < 10 && n < line("$")
|
||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||
@@ -226,7 +226,7 @@ func filetype#FThtml()
|
||||
endfunc
|
||||
|
||||
" Distinguish between standard IDL and MS-IDL
|
||||
func filetype#FTidl()
|
||||
func dist#ft#FTidl()
|
||||
let n = 1
|
||||
while n < 50 && n < line("$")
|
||||
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||
@@ -239,7 +239,7 @@ func filetype#FTidl()
|
||||
endfunc
|
||||
|
||||
" Distinguish between "default" and Cproto prototype file. */
|
||||
func filetype#ProtoCheck(default)
|
||||
func dist#ft#ProtoCheck(default)
|
||||
" Cproto files have a comment in the first line and a function prototype in
|
||||
" the second line, it always ends in ";". Indent files may also have
|
||||
" comments, thus we can't match comments to see the difference.
|
||||
@@ -252,7 +252,7 @@ func filetype#ProtoCheck(default)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTm()
|
||||
func dist#ft#FTm()
|
||||
let n = 1
|
||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||
while n < 100
|
||||
@@ -296,7 +296,7 @@ func filetype#FTm()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTmms()
|
||||
func dist#ft#FTmms()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
@@ -315,7 +315,7 @@ endfunc
|
||||
|
||||
" This function checks if one of the first five lines start with a dot. In
|
||||
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||
func filetype#FTnroff()
|
||||
func dist#ft#FTnroff()
|
||||
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||
setf nroff
|
||||
return 1
|
||||
@@ -323,7 +323,7 @@ func filetype#FTnroff()
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
func filetype#FTmm()
|
||||
func dist#ft#FTmm()
|
||||
let n = 1
|
||||
while n < 10
|
||||
let line = getline(n)
|
||||
@@ -336,7 +336,7 @@ func filetype#FTmm()
|
||||
setf nroff
|
||||
endfunc
|
||||
|
||||
func filetype#FTpl()
|
||||
func dist#ft#FTpl()
|
||||
if exists("g:filetype_pl")
|
||||
exe "setf " . g:filetype_pl
|
||||
else
|
||||
@@ -351,7 +351,7 @@ func filetype#FTpl()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTinc()
|
||||
func dist#ft#FTinc()
|
||||
if exists("g:filetype_inc")
|
||||
exe "setf " . g:filetype_inc
|
||||
else
|
||||
@@ -363,7 +363,7 @@ func filetype#FTinc()
|
||||
elseif lines =~ "<?"
|
||||
setf php
|
||||
else
|
||||
call filetype#FTasmsyntax()
|
||||
call dist#ft#FTasmsyntax()
|
||||
if exists("b:asmsyntax")
|
||||
exe "setf " . fnameescape(b:asmsyntax)
|
||||
else
|
||||
@@ -373,7 +373,7 @@ func filetype#FTinc()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTprogress_cweb()
|
||||
func dist#ft#FTprogress_cweb()
|
||||
if exists("g:filetype_w")
|
||||
exe "setf " . g:filetype_w
|
||||
return
|
||||
@@ -385,7 +385,7 @@ func filetype#FTprogress_cweb()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#FTprogress_asm()
|
||||
func dist#ft#FTprogress_asm()
|
||||
if exists("g:filetype_i")
|
||||
exe "setf " . g:filetype_i
|
||||
return
|
||||
@@ -396,7 +396,7 @@ func filetype#FTprogress_asm()
|
||||
while lnum <= 10 && lnum < line('$')
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*;' || line =~ '^\*'
|
||||
call filetype#FTasm()
|
||||
call dist#ft#FTasm()
|
||||
return
|
||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||
" Not an empty line: Doesn't look like valid assembly code.
|
||||
@@ -408,7 +408,7 @@ func filetype#FTprogress_asm()
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func filetype#FTprogress_pascal()
|
||||
func dist#ft#FTprogress_pascal()
|
||||
if exists("g:filetype_p")
|
||||
exe "setf " . g:filetype_p
|
||||
return
|
||||
@@ -433,7 +433,7 @@ func filetype#FTprogress_pascal()
|
||||
setf progress
|
||||
endfunc
|
||||
|
||||
func filetype#FTr()
|
||||
func dist#ft#FTr()
|
||||
let max = line("$") > 50 ? 50 : line("$")
|
||||
|
||||
for n in range(1, max)
|
||||
@@ -466,7 +466,7 @@ func filetype#FTr()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func filetype#McSetf()
|
||||
func dist#ft#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]))
|
||||
@@ -483,21 +483,21 @@ func filetype#McSetf()
|
||||
endfunc
|
||||
|
||||
" Called from filetype.vim and scripts.vim.
|
||||
func filetype#SetFileTypeSH(name)
|
||||
func dist#ft#SetFileTypeSH(name)
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
if a:name =~ '\<csh\>'
|
||||
" Some .sh scripts contain #!/bin/csh.
|
||||
call filetype#SetFileTypeShell("csh")
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
return
|
||||
elseif a:name =~ '\<tcsh\>'
|
||||
" Some .sh scripts contain #!/bin/tcsh.
|
||||
call filetype#SetFileTypeShell("tcsh")
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
return
|
||||
elseif a:name =~ '\<zsh\>'
|
||||
" Some .sh scripts contain #!/bin/zsh.
|
||||
call filetype#SetFileTypeShell("zsh")
|
||||
call dist#ft#SetFileTypeShell("zsh")
|
||||
return
|
||||
elseif a:name =~ '\<ksh\>'
|
||||
let b:is_kornshell = 1
|
||||
@@ -524,13 +524,13 @@ func filetype#SetFileTypeSH(name)
|
||||
unlet b:is_bash
|
||||
endif
|
||||
endif
|
||||
call filetype#SetFileTypeShell("sh")
|
||||
call dist#ft#SetFileTypeShell("sh")
|
||||
endfunc
|
||||
|
||||
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||
" as used for Tcl.
|
||||
" Also called from scripts.vim, thus can't be local to this script.
|
||||
func filetype#SetFileTypeShell(name)
|
||||
func dist#ft#SetFileTypeShell(name)
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
@@ -550,18 +550,18 @@ func filetype#SetFileTypeShell(name)
|
||||
exe "setf " . a:name
|
||||
endfunc
|
||||
|
||||
func filetype#CSH()
|
||||
func dist#ft#CSH()
|
||||
if exists("g:filetype_csh")
|
||||
call filetype#SetFileTypeShell(g:filetype_csh)
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
elseif &shell =~ "tcsh"
|
||||
call filetype#SetFileTypeShell("tcsh")
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
else
|
||||
call filetype#SetFileTypeShell("csh")
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
endif
|
||||
endfunc
|
||||
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func filetype#FTRules()
|
||||
func dist#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
@@ -594,7 +594,7 @@ func filetype#FTRules()
|
||||
setf hog
|
||||
endfunc
|
||||
|
||||
func filetype#SQL()
|
||||
func dist#ft#SQL()
|
||||
if exists("g:filetype_sql")
|
||||
exe "setf " . g:filetype_sql
|
||||
else
|
||||
@@ -608,7 +608,7 @@ endfunc
|
||||
" file.
|
||||
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||
" a Perl file.
|
||||
func filetype#FTperl()
|
||||
func dist#ft#FTperl()
|
||||
let dirname = expand("%:p:h:t")
|
||||
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||
setf perl
|
||||
@@ -629,7 +629,7 @@ endfunc
|
||||
" 1. Check the first line of the file for "%&<format>".
|
||||
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||
func filetype#FTtex()
|
||||
func dist#ft#FTtex()
|
||||
let firstline = getline(1)
|
||||
if firstline =~ '^%&\s*\a\+'
|
||||
let format = tolower(matchstr(firstline, '\a\+'))
|
||||
@@ -681,7 +681,7 @@ func filetype#FTtex()
|
||||
return
|
||||
endfunc
|
||||
|
||||
func filetype#FTxml()
|
||||
func dist#ft#FTxml()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
let line = getline(n)
|
||||
@@ -707,7 +707,7 @@ func filetype#FTxml()
|
||||
setf xml
|
||||
endfunc
|
||||
|
||||
func filetype#FTy()
|
||||
func dist#ft#FTy()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
let line = getline(n)
|
||||
@@ -724,7 +724,7 @@ func filetype#FTy()
|
||||
setf yacc
|
||||
endfunc
|
||||
|
||||
func filetype#Redif()
|
||||
func dist#ft#Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
@@ -52,7 +52,7 @@ endfunc
|
||||
au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
|
||||
|
||||
" Abaqus or Trasys
|
||||
au BufNewFile,BufRead *.inp call filetype#Check_inp()
|
||||
au BufNewFile,BufRead *.inp call dist#ft#Check_inp()
|
||||
|
||||
" A-A-P recipe
|
||||
au BufNewFile,BufRead *.aap setf aap
|
||||
@@ -150,7 +150,7 @@ au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf
|
||||
|
||||
" Assembly (all kinds)
|
||||
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
|
||||
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call filetype#FTasm()
|
||||
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm()
|
||||
|
||||
" Macro (VAX)
|
||||
au BufNewFile,BufRead *.mar setf vmasm
|
||||
@@ -180,7 +180,7 @@ au BufNewFile,BufRead *.awk setf awk
|
||||
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
||||
|
||||
" BASIC or Visual Basic
|
||||
au BufNewFile,BufRead *.bas call filetype#FTVB("basic")
|
||||
au BufNewFile,BufRead *.bas call dist#ft#FTVB("basic")
|
||||
|
||||
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
|
||||
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
@@ -198,7 +198,7 @@ au BufNewFile,BufRead *.cmd
|
||||
\ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif
|
||||
|
||||
" Batch file for 4DOS
|
||||
au BufNewFile,BufRead *.btm call filetype#FTbtm()
|
||||
au BufNewFile,BufRead *.btm call dist#ft#FTbtm()
|
||||
|
||||
" BC calculator
|
||||
au BufNewFile,BufRead *.bc setf bc
|
||||
@@ -218,7 +218,7 @@ au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named
|
||||
|
||||
" BIND zone
|
||||
au BufNewFile,BufRead named.root setf bindzone
|
||||
au BufNewFile,BufRead *.db call filetype#BindzoneCheck('')
|
||||
au BufNewFile,BufRead *.db call dist#ft#BindzoneCheck('')
|
||||
|
||||
" Blank
|
||||
au BufNewFile,BufRead *.bl setf blank
|
||||
@@ -233,7 +233,7 @@ if has("fname_case")
|
||||
endif
|
||||
|
||||
" C or lpc
|
||||
au BufNewFile,BufRead *.c call filetype#FTlpc()
|
||||
au BufNewFile,BufRead *.c call dist#ft#FTlpc()
|
||||
|
||||
" Calendar
|
||||
au BufNewFile,BufRead calendar setf calendar
|
||||
@@ -287,7 +287,7 @@ 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 filetype#FTheader()
|
||||
au BufNewFile,BufRead *.h call dist#ft#FTheader()
|
||||
|
||||
" Ch (CHscript)
|
||||
au BufNewFile,BufRead *.chf setf ch
|
||||
@@ -321,7 +321,7 @@ au BufNewFile,BufRead NEWS
|
||||
au BufNewFile,BufRead *..ch setf chill
|
||||
|
||||
" Changes for WEB and CWEB or CHILL
|
||||
au BufNewFile,BufRead *.ch call filetype#FTchange()
|
||||
au BufNewFile,BufRead *.ch call dist#ft#FTchange()
|
||||
|
||||
" ChordPro
|
||||
au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro
|
||||
@@ -333,7 +333,7 @@ au BufNewFile,BufRead *.dcl,*.icl setf clean
|
||||
au BufNewFile,BufRead *.eni setf cl
|
||||
|
||||
" Clever or dtd
|
||||
au BufNewFile,BufRead *.ent call filetype#FTent()
|
||||
au BufNewFile,BufRead *.ent call dist#ft#FTent()
|
||||
|
||||
" Clipper (or FoxPro; could also be eviews)
|
||||
au BufNewFile,BufRead *.prg
|
||||
@@ -388,9 +388,9 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||
|
||||
" Euphoria 3 or 4
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call filetype#EuphoriaCheck()
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call dist#ft#EuphoriaCheck()
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call filetype#EuphoriaCheck()
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call dist#ft#EuphoriaCheck()
|
||||
endif
|
||||
|
||||
" Lynx config files
|
||||
@@ -437,7 +437,7 @@ au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
|
||||
au BufNewFile,BufRead *.desc setf desc
|
||||
|
||||
" the D language or dtrace
|
||||
au BufNewFile,BufRead *.d call filetype#DtraceCheck()
|
||||
au BufNewFile,BufRead *.d call dist#ft#DtraceCheck()
|
||||
|
||||
" Desktop files
|
||||
au BufNewFile,BufRead *.desktop,.directory setf desktop
|
||||
@@ -469,7 +469,7 @@ au BufNewFile,BufRead *.rul
|
||||
\ endif
|
||||
|
||||
" DCL (Digital Command Language - vms) or DNS zone file
|
||||
au BufNewFile,BufRead *.com call filetype#BindzoneCheck('dcl')
|
||||
au BufNewFile,BufRead *.com call dist#ft#BindzoneCheck('dcl')
|
||||
|
||||
" DOT
|
||||
au BufNewFile,BufRead *.dot setf dot
|
||||
@@ -517,7 +517,7 @@ au BufNewFile,BufRead .editorconfig setf dosini
|
||||
au BufNewFile,BufRead *.ecd setf ecd
|
||||
|
||||
" Eiffel or Specman or Euphoria
|
||||
au BufNewFile,BufRead *.e,*.E call filetype#FTe()
|
||||
au BufNewFile,BufRead *.e,*.E call dist#ft#FTe()
|
||||
|
||||
" Elinks configuration
|
||||
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
||||
@@ -690,7 +690,7 @@ au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||
au BufNewFile,BufRead *.t.html setf tilde
|
||||
|
||||
" HTML (.shtml and .stm for server side)
|
||||
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call filetype#FThtml()
|
||||
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
|
||||
|
||||
" HTML with Ruby - eRuby
|
||||
au BufNewFile,BufRead *.erb,*.rhtml setf eruby
|
||||
@@ -717,7 +717,7 @@ au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||
au BufNewFile,BufRead *.icn setf icon
|
||||
|
||||
" IDL (Interface Description Language)
|
||||
au BufNewFile,BufRead *.idl call filetype#FTidl()
|
||||
au BufNewFile,BufRead *.idl call dist#ft#FTidl()
|
||||
|
||||
" Microsoft IDL (Interface Description Language) Also *.idl
|
||||
" MOF = WMI (Windows Management Instrumentation) Managed Object Format
|
||||
@@ -728,10 +728,10 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
|
||||
|
||||
" Indent profile (must come before IDL *.pro!)
|
||||
au BufNewFile,BufRead .indent.pro setf indent
|
||||
au BufNewFile,BufRead indent.pro call filetype#ProtoCheck('indent')
|
||||
au BufNewFile,BufRead indent.pro call dist#ft#ProtoCheck('indent')
|
||||
|
||||
" IDL (Interactive Data Language)
|
||||
au BufNewFile,BufRead *.pro call filetype#ProtoCheck('idlang')
|
||||
au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang')
|
||||
|
||||
" Indent RC
|
||||
au BufNewFile,BufRead indentrc setf indent
|
||||
@@ -945,7 +945,7 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
|
||||
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
||||
|
||||
" Mathematica, Matlab, Murphi or Objective C
|
||||
au BufNewFile,BufRead *.m call filetype#FTm()
|
||||
au BufNewFile,BufRead *.m call dist#ft#FTm()
|
||||
|
||||
" Mathematica notebook
|
||||
au BufNewFile,BufRead *.nb setf mma
|
||||
@@ -975,7 +975,7 @@ au BufNewFile,BufRead *.mgl setf mgl
|
||||
au BufNewFile,BufRead *.mix,*.mixal setf mix
|
||||
|
||||
" MMIX or VMS makefile
|
||||
au BufNewFile,BufRead *.mms call filetype#FTmms()
|
||||
au BufNewFile,BufRead *.mms call dist#ft#FTmms()
|
||||
|
||||
" Symbian meta-makefile definition (MMP)
|
||||
au BufNewFile,BufRead *.mmp setf mmp
|
||||
@@ -1063,10 +1063,10 @@ au BufNewFile,BufRead *.me
|
||||
\ setf nroff |
|
||||
\ endif
|
||||
au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff
|
||||
au BufNewFile,BufRead *.[1-9] call filetype#FTnroff()
|
||||
au BufNewFile,BufRead *.[1-9] call dist#ft#FTnroff()
|
||||
|
||||
" Nroff or Objective C++
|
||||
au BufNewFile,BufRead *.mm call filetype#FTmm()
|
||||
au BufNewFile,BufRead *.mm call dist#ft#FTmm()
|
||||
|
||||
" Not Quite C
|
||||
au BufNewFile,BufRead *.nqc setf nqc
|
||||
@@ -1121,9 +1121,9 @@ au BufNewFile,BufRead *.pcmk setf pcmk
|
||||
|
||||
" Perl
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.pl,*.PL call filetype#FTpl()
|
||||
au BufNewFile,BufRead *.pl,*.PL call dist#ft#FTpl()
|
||||
else
|
||||
au BufNewFile,BufRead *.pl call filetype#FTpl()
|
||||
au BufNewFile,BufRead *.pl call dist#ft#FTpl()
|
||||
endif
|
||||
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
|
||||
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
||||
@@ -1190,7 +1190,7 @@ au BufNewFile,BufRead *.pov setf pov
|
||||
au BufNewFile,BufRead .povrayrc setf povini
|
||||
|
||||
" Povray, PHP or assembly
|
||||
au BufNewFile,BufRead *.inc call filetype#FTinc()
|
||||
au BufNewFile,BufRead *.inc call dist#ft#FTinc()
|
||||
|
||||
" Printcap and Termcap
|
||||
au BufNewFile,BufRead *printcap
|
||||
@@ -1219,13 +1219,13 @@ au BufNewFile,BufRead *.action setf privoxy
|
||||
au BufNewFile,BufRead .procmail,.procmailrc setf procmail
|
||||
|
||||
" Progress or CWEB
|
||||
au BufNewFile,BufRead *.w call filetype#FTprogress_cweb()
|
||||
au BufNewFile,BufRead *.w call dist#ft#FTprogress_cweb()
|
||||
|
||||
" Progress or assembly
|
||||
au BufNewFile,BufRead *.i call filetype#FTprogress_asm()
|
||||
au BufNewFile,BufRead *.i call dist#ft#FTprogress_asm()
|
||||
|
||||
" Progress or Pascal
|
||||
au BufNewFile,BufRead *.p call filetype#FTprogress_pascal()
|
||||
au BufNewFile,BufRead *.p call dist#ft#FTprogress_pascal()
|
||||
|
||||
" Software Distributor Product Specification File (POSIX 1387.2-1995)
|
||||
au BufNewFile,BufRead *.psf setf psf
|
||||
@@ -1311,7 +1311,7 @@ else
|
||||
endif
|
||||
|
||||
" Rexx, Rebol or R
|
||||
au BufNewFile,BufRead *.r,*.R call filetype#FTr()
|
||||
au BufNewFile,BufRead *.r,*.R call dist#ft#FTr()
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
|
||||
@@ -1407,7 +1407,7 @@ au BufNewFile,BufRead *.siv setf sieve
|
||||
au BufNewFile,BufRead sendmail.cf setf sm
|
||||
|
||||
" Sendmail .mc files are actually m4. Could also be MS Message text file.
|
||||
au BufNewFile,BufRead *.mc call filetype#McSetf()
|
||||
au BufNewFile,BufRead *.mc call dist#ft#McSetf()
|
||||
|
||||
" Services
|
||||
au BufNewFile,BufRead */etc/services setf services
|
||||
@@ -1448,23 +1448,23 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
||||
|
||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call filetype#SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call filetype#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call filetype#SetFileTypeSH(getline(1))
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call dist#ft#SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call dist#ft#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
|
||||
|
||||
" Shell script (Arch Linux) or PHP file (Drupal)
|
||||
au BufNewFile,BufRead *.install
|
||||
\ if getline(1) =~ '<?php' |
|
||||
\ setf php |
|
||||
\ else |
|
||||
\ call filetype#SetFileTypeSH("bash") |
|
||||
\ call dist#ft#SetFileTypeSH("bash") |
|
||||
\ endif
|
||||
|
||||
" tcsh scripts
|
||||
au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call filetype#SetFileTypeShell("tcsh")
|
||||
au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" csh scripts, but might also be tcsh scripts (on some systems csh is tcsh)
|
||||
au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias call filetype#CSH()
|
||||
au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH()
|
||||
|
||||
" Z-Shell script
|
||||
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
|
||||
@@ -1535,7 +1535,7 @@ au BufNewFile,BufRead *.mib,*.my setf mib
|
||||
|
||||
" Snort Configuration
|
||||
au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog
|
||||
au BufNewFile,BufRead *.rules call filetype#FTRules()
|
||||
au BufNewFile,BufRead *.rules call dist#ft#FTRules()
|
||||
|
||||
" Spec (Linux RPM)
|
||||
au BufNewFile,BufRead *.spec setf spec
|
||||
@@ -1559,7 +1559,7 @@ au BufNewFile,BufRead squid.conf setf squid
|
||||
au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql
|
||||
|
||||
" SQL
|
||||
au BufNewFile,BufRead *.sql call filetype#SQL()
|
||||
au BufNewFile,BufRead *.sql call dist#ft#SQL()
|
||||
|
||||
" SQLJ
|
||||
au BufNewFile,BufRead *.sqlj setf sqlj
|
||||
@@ -1608,7 +1608,7 @@ au BufNewFile,BufRead *.svg setf svg
|
||||
|
||||
" Tads (or Nroff or Perl test file)
|
||||
au BufNewFile,BufRead *.t
|
||||
\ if !filetype#FTnroff() && !filetype#FTperl() | setf tads | endif
|
||||
\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
|
||||
|
||||
" Tags
|
||||
au BufNewFile,BufRead tags setf tags
|
||||
@@ -1637,7 +1637,7 @@ au BufNewFile,BufRead *.ti setf terminfo
|
||||
|
||||
" TeX
|
||||
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
|
||||
au BufNewFile,BufRead *.tex call filetype#FTtex()
|
||||
au BufNewFile,BufRead *.tex call dist#ft#FTtex()
|
||||
|
||||
" ConTeXt
|
||||
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context
|
||||
@@ -1738,7 +1738,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg
|
||||
\ endif
|
||||
|
||||
" Visual Basic (also uses *.bas) or FORM
|
||||
au BufNewFile,BufRead *.frm call filetype#FTVB("form")
|
||||
au BufNewFile,BufRead *.frm call dist#ft#FTVB("form")
|
||||
|
||||
" SaxBasic is close to Visual Basic
|
||||
au BufNewFile,BufRead *.sba setf vb
|
||||
@@ -1828,10 +1828,10 @@ au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xd
|
||||
" Xmath
|
||||
au BufNewFile,BufRead *.msc,*.msf setf xmath
|
||||
au BufNewFile,BufRead *.ms
|
||||
\ if !filetype#FTnroff() | setf xmath | endif
|
||||
\ if !dist#ft#FTnroff() | setf xmath | endif
|
||||
|
||||
" XML specific variants: docbk and xbl
|
||||
au BufNewFile,BufRead *.xml call filetype#FTxml()
|
||||
au BufNewFile,BufRead *.xml call dist#ft#FTxml()
|
||||
|
||||
" XMI (holding UML models) is also XML
|
||||
au BufNewFile,BufRead *.xmi setf xml
|
||||
@@ -1874,7 +1874,7 @@ au BufNewFile,BufRead *.xsl,*.xslt setf xslt
|
||||
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
||||
|
||||
" Yacc or racc
|
||||
au BufNewFile,BufRead *.y call filetype#FTy()
|
||||
au BufNewFile,BufRead *.y call dist#ft#FTy()
|
||||
|
||||
" Yaml
|
||||
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
||||
@@ -1890,9 +1890,9 @@ au BufNewFile,BufRead *.zut setf zimbutempl
|
||||
" Zope
|
||||
" dtml (zope dynamic template markup language), pt (zope page template),
|
||||
" cpt (zope form controller page template)
|
||||
au BufNewFile,BufRead *.dtml,*.pt,*.cpt call filetype#FThtml()
|
||||
au BufNewFile,BufRead *.dtml,*.pt,*.cpt call dist#ft#FThtml()
|
||||
" zsql (zope sql method)
|
||||
au BufNewFile,BufRead *.zsql call filetype#SQL()
|
||||
au BufNewFile,BufRead *.zsql call dist#ft#SQL()
|
||||
|
||||
" Z80 assembler asz80
|
||||
au BufNewFile,BufRead *.z8a setf z8a
|
||||
@@ -2041,7 +2041,7 @@ au BufNewFile,BufRead *termcap*
|
||||
|
||||
" ReDIF
|
||||
" Only used when the .rdf file was not detected to be XML.
|
||||
au BufRead,BufNewFile *.rdf call filetype#Redif()
|
||||
au BufRead,BufNewFile *.rdf call dist#ft#Redif()
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||
|
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2017 Nov 09
|
||||
" Last change: 2017 Nov 11
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
|
||||
|
||||
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||
call filetype#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
|
||||
" csh scripts
|
||||
elseif s:name =~# '^csh\>'
|
||||
if exists("g:filetype_csh")
|
||||
call filetype#SetFileTypeShell(g:filetype_csh)
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
else
|
||||
call filetype#SetFileTypeShell("csh")
|
||||
call dist#ft#SetFileTypeShell("csh")
|
||||
endif
|
||||
|
||||
" tcsh scripts
|
||||
elseif s:name =~# '^tcsh\>'
|
||||
call filetype#SetFileTypeShell("tcsh")
|
||||
call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" Z shell scripts
|
||||
elseif s:name =~# '^zsh\>'
|
||||
@@ -185,7 +185,7 @@ else
|
||||
|
||||
" Bourne-like shell scripts: sh ksh bash bash2
|
||||
if s:line1 =~# '^:$'
|
||||
call filetype#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
|
||||
" Z shell scripts
|
||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||
|
Reference in New Issue
Block a user