mirror of
https://github.com/vim/vim.git
synced 2025-07-04 23:07:33 -04:00
patch 8.0.1285: occasional crash when using a channel
Problem: Occasional crash when using a channel. (Marek) Solution: Decrement reference count later. (closes #2315)
This commit is contained in:
parent
462455ee8b
commit
d09a206ee9
1
Filelist
1
Filelist
@ -659,6 +659,7 @@ RT_SCRIPTS = \
|
|||||||
runtime/makemenu.vim \
|
runtime/makemenu.vim \
|
||||||
runtime/autoload/*.vim \
|
runtime/autoload/*.vim \
|
||||||
runtime/autoload/README.txt \
|
runtime/autoload/README.txt \
|
||||||
|
runtime/autoload/dist/*.vim \
|
||||||
runtime/autoload/xml/*.vim \
|
runtime/autoload/xml/*.vim \
|
||||||
runtime/colors/*.vim \
|
runtime/colors/*.vim \
|
||||||
runtime/colors/README.txt \
|
runtime/colors/README.txt \
|
||||||
|
@ -268,6 +268,9 @@ Section "Vim executables and runtime files"
|
|||||||
SetOutPath $0\autoload
|
SetOutPath $0\autoload
|
||||||
File ${VIMRT}\autoload\*.*
|
File ${VIMRT}\autoload\*.*
|
||||||
|
|
||||||
|
SetOutPath $0\autoload\dist
|
||||||
|
File ${VIMRT}\autoload\dist\*.*
|
||||||
|
|
||||||
SetOutPath $0\autoload\xml
|
SetOutPath $0\autoload\xml
|
||||||
File ${VIMRT}\autoload\xml\*.*
|
File ${VIMRT}\autoload\xml\*.*
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim functions for file type detection
|
" Vim functions for file type detection
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
" faster.
|
" faster.
|
||||||
@ -10,7 +10,7 @@
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
func filetype#Check_inp()
|
func dist#ft#Check_inp()
|
||||||
if getline(1) =~ '^\*'
|
if getline(1) =~ '^\*'
|
||||||
setf abaqus
|
setf abaqus
|
||||||
else
|
else
|
||||||
@ -32,14 +32,14 @@ endfunc
|
|||||||
|
|
||||||
" This function checks for the kind of assembly that is wanted by the user, or
|
" 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.
|
" can be detected from the first five lines of the file.
|
||||||
func filetype#FTasm()
|
func dist#ft#FTasm()
|
||||||
" make sure b:asmsyntax exists
|
" make sure b:asmsyntax exists
|
||||||
if !exists("b:asmsyntax")
|
if !exists("b:asmsyntax")
|
||||||
let b:asmsyntax = ""
|
let b:asmsyntax = ""
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if b:asmsyntax == ""
|
if b:asmsyntax == ""
|
||||||
call filetype#FTasmsyntax()
|
call dist#ft#FTasmsyntax()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||||
@ -54,7 +54,7 @@ func filetype#FTasm()
|
|||||||
exe "setf " . fnameescape(b:asmsyntax)
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTasmsyntax()
|
func dist#ft#FTasmsyntax()
|
||||||
" see if file contains any asmsyntax=foo overrides. If so, change
|
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||||
" b:asmsyntax appropriately
|
" b:asmsyntax appropriately
|
||||||
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
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
|
" 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.
|
" 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\)'
|
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||||
setf vb
|
setf vb
|
||||||
else
|
else
|
||||||
@ -77,7 +77,7 @@ func filetype#FTVB(alt)
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTbtm()
|
func dist#ft#FTbtm()
|
||||||
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||||
setf dosbatch
|
setf dosbatch
|
||||||
else
|
else
|
||||||
@ -85,7 +85,7 @@ func filetype#FTbtm()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
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'
|
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
setf bindzone
|
setf bindzone
|
||||||
elseif a:default != ''
|
elseif a:default != ''
|
||||||
@ -93,7 +93,7 @@ func filetype#BindzoneCheck(default)
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTlpc()
|
func dist#ft#FTlpc()
|
||||||
if exists("g:lpc_syntax_for_c")
|
if exists("g:lpc_syntax_for_c")
|
||||||
let lnum = 1
|
let lnum = 1
|
||||||
while lnum <= 12
|
while lnum <= 12
|
||||||
@ -107,7 +107,7 @@ func filetype#FTlpc()
|
|||||||
setf c
|
setf c
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTheader()
|
func dist#ft#FTheader()
|
||||||
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||||
if exists("g:c_syntax_for_h")
|
if exists("g:c_syntax_for_h")
|
||||||
setf objc
|
setf objc
|
||||||
@ -128,7 +128,7 @@ endfunc
|
|||||||
" If the first line starts with # or ! it's probably a ch file.
|
" If the first line starts with # or ! it's probably a ch file.
|
||||||
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||||
" Otherwise CHILL is assumed.
|
" Otherwise CHILL is assumed.
|
||||||
func filetype#FTchange()
|
func dist#ft#FTchange()
|
||||||
let lnum = 1
|
let lnum = 1
|
||||||
while lnum <= 10
|
while lnum <= 10
|
||||||
if getline(lnum)[0] == '@'
|
if getline(lnum)[0] == '@'
|
||||||
@ -152,7 +152,7 @@ func filetype#FTchange()
|
|||||||
setf chill
|
setf chill
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTent()
|
func dist#ft#FTent()
|
||||||
" This function checks for valid cl syntax in the first five lines.
|
" This function checks for valid cl syntax in the first five lines.
|
||||||
" Look for either an opening comment, '#', or a block start, '{".
|
" Look for either an opening comment, '#', or a block start, '{".
|
||||||
" If not found, assume SGML.
|
" If not found, assume SGML.
|
||||||
@ -172,7 +172,7 @@ func filetype#FTent()
|
|||||||
setf dtd
|
setf dtd
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#EuphoriaCheck()
|
func dist#ft#EuphoriaCheck()
|
||||||
if exists('g:filetype_euphoria')
|
if exists('g:filetype_euphoria')
|
||||||
exe 'setf ' . g:filetype_euphoria
|
exe 'setf ' . g:filetype_euphoria
|
||||||
else
|
else
|
||||||
@ -180,7 +180,7 @@ func filetype#EuphoriaCheck()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#DtraceCheck()
|
func dist#ft#DtraceCheck()
|
||||||
let lines = getline(1, min([line("$"), 100]))
|
let lines = getline(1, min([line("$"), 100]))
|
||||||
if match(lines, '^module\>\|^import\>') > -1
|
if match(lines, '^module\>\|^import\>') > -1
|
||||||
" D files often start with a module and/or import statement.
|
" D files often start with a module and/or import statement.
|
||||||
@ -192,7 +192,7 @@ func filetype#DtraceCheck()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTe()
|
func dist#ft#FTe()
|
||||||
if exists('g:filetype_euphoria')
|
if exists('g:filetype_euphoria')
|
||||||
exe 'setf ' . g:filetype_euphoria
|
exe 'setf ' . g:filetype_euphoria
|
||||||
else
|
else
|
||||||
@ -209,7 +209,7 @@ func filetype#FTe()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Distinguish between HTML, XHTML and Django
|
" Distinguish between HTML, XHTML and Django
|
||||||
func filetype#FThtml()
|
func dist#ft#FThtml()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10 && n < line("$")
|
while n < 10 && n < line("$")
|
||||||
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||||
@ -226,7 +226,7 @@ func filetype#FThtml()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Distinguish between standard IDL and MS-IDL
|
" Distinguish between standard IDL and MS-IDL
|
||||||
func filetype#FTidl()
|
func dist#ft#FTidl()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 50 && n < line("$")
|
while n < 50 && n < line("$")
|
||||||
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||||
@ -239,7 +239,7 @@ func filetype#FTidl()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Distinguish between "default" and Cproto prototype file. */
|
" 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
|
" 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
|
" the second line, it always ends in ";". Indent files may also have
|
||||||
" comments, thus we can't match comments to see the difference.
|
" comments, thus we can't match comments to see the difference.
|
||||||
@ -252,7 +252,7 @@ func filetype#ProtoCheck(default)
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTm()
|
func dist#ft#FTm()
|
||||||
let n = 1
|
let n = 1
|
||||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||||
while n < 100
|
while n < 100
|
||||||
@ -296,7 +296,7 @@ func filetype#FTm()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTmms()
|
func dist#ft#FTmms()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10
|
while n < 10
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
@ -315,7 +315,7 @@ endfunc
|
|||||||
|
|
||||||
" This function checks if one of the first five lines start with a dot. In
|
" 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.
|
" 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] =~ '\.'
|
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||||
setf nroff
|
setf nroff
|
||||||
return 1
|
return 1
|
||||||
@ -323,7 +323,7 @@ func filetype#FTnroff()
|
|||||||
return 0
|
return 0
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTmm()
|
func dist#ft#FTmm()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 10
|
while n < 10
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
@ -336,7 +336,7 @@ func filetype#FTmm()
|
|||||||
setf nroff
|
setf nroff
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTpl()
|
func dist#ft#FTpl()
|
||||||
if exists("g:filetype_pl")
|
if exists("g:filetype_pl")
|
||||||
exe "setf " . g:filetype_pl
|
exe "setf " . g:filetype_pl
|
||||||
else
|
else
|
||||||
@ -351,7 +351,7 @@ func filetype#FTpl()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTinc()
|
func dist#ft#FTinc()
|
||||||
if exists("g:filetype_inc")
|
if exists("g:filetype_inc")
|
||||||
exe "setf " . g:filetype_inc
|
exe "setf " . g:filetype_inc
|
||||||
else
|
else
|
||||||
@ -363,7 +363,7 @@ func filetype#FTinc()
|
|||||||
elseif lines =~ "<?"
|
elseif lines =~ "<?"
|
||||||
setf php
|
setf php
|
||||||
else
|
else
|
||||||
call filetype#FTasmsyntax()
|
call dist#ft#FTasmsyntax()
|
||||||
if exists("b:asmsyntax")
|
if exists("b:asmsyntax")
|
||||||
exe "setf " . fnameescape(b:asmsyntax)
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
else
|
else
|
||||||
@ -373,7 +373,7 @@ func filetype#FTinc()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTprogress_cweb()
|
func dist#ft#FTprogress_cweb()
|
||||||
if exists("g:filetype_w")
|
if exists("g:filetype_w")
|
||||||
exe "setf " . g:filetype_w
|
exe "setf " . g:filetype_w
|
||||||
return
|
return
|
||||||
@ -385,7 +385,7 @@ func filetype#FTprogress_cweb()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTprogress_asm()
|
func dist#ft#FTprogress_asm()
|
||||||
if exists("g:filetype_i")
|
if exists("g:filetype_i")
|
||||||
exe "setf " . g:filetype_i
|
exe "setf " . g:filetype_i
|
||||||
return
|
return
|
||||||
@ -396,7 +396,7 @@ func filetype#FTprogress_asm()
|
|||||||
while lnum <= 10 && lnum < line('$')
|
while lnum <= 10 && lnum < line('$')
|
||||||
let line = getline(lnum)
|
let line = getline(lnum)
|
||||||
if line =~ '^\s*;' || line =~ '^\*'
|
if line =~ '^\s*;' || line =~ '^\*'
|
||||||
call filetype#FTasm()
|
call dist#ft#FTasm()
|
||||||
return
|
return
|
||||||
elseif line !~ '^\s*$' || line =~ '^/\*'
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
" Not an empty line: Doesn't look like valid assembly code.
|
" Not an empty line: Doesn't look like valid assembly code.
|
||||||
@ -408,7 +408,7 @@ func filetype#FTprogress_asm()
|
|||||||
setf progress
|
setf progress
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTprogress_pascal()
|
func dist#ft#FTprogress_pascal()
|
||||||
if exists("g:filetype_p")
|
if exists("g:filetype_p")
|
||||||
exe "setf " . g:filetype_p
|
exe "setf " . g:filetype_p
|
||||||
return
|
return
|
||||||
@ -433,7 +433,7 @@ func filetype#FTprogress_pascal()
|
|||||||
setf progress
|
setf progress
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTr()
|
func dist#ft#FTr()
|
||||||
let max = line("$") > 50 ? 50 : line("$")
|
let max = line("$") > 50 ? 50 : line("$")
|
||||||
|
|
||||||
for n in range(1, max)
|
for n in range(1, max)
|
||||||
@ -466,7 +466,7 @@ func filetype#FTr()
|
|||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#McSetf()
|
func dist#ft#McSetf()
|
||||||
" Rely on the file to start with a comment.
|
" Rely on the file to start with a comment.
|
||||||
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||||
for lnum in range(1, min([line("$"), 20]))
|
for lnum in range(1, min([line("$"), 20]))
|
||||||
@ -483,21 +483,21 @@ func filetype#McSetf()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Called from filetype.vim and scripts.vim.
|
" Called from filetype.vim and scripts.vim.
|
||||||
func filetype#SetFileTypeSH(name)
|
func dist#ft#SetFileTypeSH(name)
|
||||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
if a:name =~ '\<csh\>'
|
if a:name =~ '\<csh\>'
|
||||||
" Some .sh scripts contain #!/bin/csh.
|
" Some .sh scripts contain #!/bin/csh.
|
||||||
call filetype#SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
return
|
return
|
||||||
elseif a:name =~ '\<tcsh\>'
|
elseif a:name =~ '\<tcsh\>'
|
||||||
" Some .sh scripts contain #!/bin/tcsh.
|
" Some .sh scripts contain #!/bin/tcsh.
|
||||||
call filetype#SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
return
|
return
|
||||||
elseif a:name =~ '\<zsh\>'
|
elseif a:name =~ '\<zsh\>'
|
||||||
" Some .sh scripts contain #!/bin/zsh.
|
" Some .sh scripts contain #!/bin/zsh.
|
||||||
call filetype#SetFileTypeShell("zsh")
|
call dist#ft#SetFileTypeShell("zsh")
|
||||||
return
|
return
|
||||||
elseif a:name =~ '\<ksh\>'
|
elseif a:name =~ '\<ksh\>'
|
||||||
let b:is_kornshell = 1
|
let b:is_kornshell = 1
|
||||||
@ -524,13 +524,13 @@ func filetype#SetFileTypeSH(name)
|
|||||||
unlet b:is_bash
|
unlet b:is_bash
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
call filetype#SetFileTypeShell("sh")
|
call dist#ft#SetFileTypeShell("sh")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" For shell-like file types, check for an "exec" command hidden in a comment,
|
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||||
" as used for Tcl.
|
" as used for Tcl.
|
||||||
" Also called from scripts.vim, thus can't be local to this script.
|
" 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
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -550,18 +550,18 @@ func filetype#SetFileTypeShell(name)
|
|||||||
exe "setf " . a:name
|
exe "setf " . a:name
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#CSH()
|
func dist#ft#CSH()
|
||||||
if exists("g:filetype_csh")
|
if exists("g:filetype_csh")
|
||||||
call filetype#SetFileTypeShell(g:filetype_csh)
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
elseif &shell =~ "tcsh"
|
elseif &shell =~ "tcsh"
|
||||||
call filetype#SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
else
|
else
|
||||||
call filetype#SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
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')
|
let path = expand('<amatch>:p')
|
||||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||||
setf udevrules
|
setf udevrules
|
||||||
@ -594,7 +594,7 @@ func filetype#FTRules()
|
|||||||
setf hog
|
setf hog
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#SQL()
|
func dist#ft#SQL()
|
||||||
if exists("g:filetype_sql")
|
if exists("g:filetype_sql")
|
||||||
exe "setf " . g:filetype_sql
|
exe "setf " . g:filetype_sql
|
||||||
else
|
else
|
||||||
@ -608,7 +608,7 @@ endfunc
|
|||||||
" file.
|
" file.
|
||||||
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||||
" a Perl file.
|
" a Perl file.
|
||||||
func filetype#FTperl()
|
func dist#ft#FTperl()
|
||||||
let dirname = expand("%:p:h:t")
|
let dirname = expand("%:p:h:t")
|
||||||
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||||
setf perl
|
setf perl
|
||||||
@ -629,7 +629,7 @@ endfunc
|
|||||||
" 1. Check the first line of the file for "%&<format>".
|
" 1. Check the first line of the file for "%&<format>".
|
||||||
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
" 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.
|
" 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)
|
let firstline = getline(1)
|
||||||
if firstline =~ '^%&\s*\a\+'
|
if firstline =~ '^%&\s*\a\+'
|
||||||
let format = tolower(matchstr(firstline, '\a\+'))
|
let format = tolower(matchstr(firstline, '\a\+'))
|
||||||
@ -681,7 +681,7 @@ func filetype#FTtex()
|
|||||||
return
|
return
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTxml()
|
func dist#ft#FTxml()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 100 && n < line("$")
|
while n < 100 && n < line("$")
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
@ -707,7 +707,7 @@ func filetype#FTxml()
|
|||||||
setf xml
|
setf xml
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#FTy()
|
func dist#ft#FTy()
|
||||||
let n = 1
|
let n = 1
|
||||||
while n < 100 && n < line("$")
|
while n < 100 && n < line("$")
|
||||||
let line = getline(n)
|
let line = getline(n)
|
||||||
@ -724,7 +724,7 @@ func filetype#FTy()
|
|||||||
setf yacc
|
setf yacc
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func filetype#Redif()
|
func dist#ft#Redif()
|
||||||
let lnum = 1
|
let lnum = 1
|
||||||
while lnum <= 5 && lnum < line('$')
|
while lnum <= 5 && lnum < line('$')
|
||||||
if getline(lnum) =~ "^\ctemplate-type:"
|
if getline(lnum) =~ "^\ctemplate-type:"
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Nov 09
|
" Last Change: 2017 Nov 11
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@ -52,7 +52,7 @@ endfunc
|
|||||||
au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
|
au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt setf help
|
||||||
|
|
||||||
" Abaqus or Trasys
|
" Abaqus or Trasys
|
||||||
au BufNewFile,BufRead *.inp call filetype#Check_inp()
|
au BufNewFile,BufRead *.inp call dist#ft#Check_inp()
|
||||||
|
|
||||||
" A-A-P recipe
|
" A-A-P recipe
|
||||||
au BufNewFile,BufRead *.aap setf aap
|
au BufNewFile,BufRead *.aap setf aap
|
||||||
@ -154,7 +154,7 @@ au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf
|
|||||||
|
|
||||||
" Assembly (all kinds)
|
" Assembly (all kinds)
|
||||||
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
|
" *.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)
|
" Macro (VAX)
|
||||||
au BufNewFile,BufRead *.mar setf vmasm
|
au BufNewFile,BufRead *.mar setf vmasm
|
||||||
@ -184,7 +184,7 @@ au BufNewFile,BufRead *.awk setf awk
|
|||||||
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
||||||
|
|
||||||
" BASIC or Visual Basic
|
" 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
|
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
|
||||||
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||||
@ -202,7 +202,7 @@ au BufNewFile,BufRead *.cmd
|
|||||||
\ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif
|
\ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif
|
||||||
|
|
||||||
" Batch file for 4DOS
|
" Batch file for 4DOS
|
||||||
au BufNewFile,BufRead *.btm call filetype#FTbtm()
|
au BufNewFile,BufRead *.btm call dist#ft#FTbtm()
|
||||||
|
|
||||||
" BC calculator
|
" BC calculator
|
||||||
au BufNewFile,BufRead *.bc setf bc
|
au BufNewFile,BufRead *.bc setf bc
|
||||||
@ -222,7 +222,7 @@ au BufNewFile,BufRead named*.conf,rndc*.conf,rndc*.key setf named
|
|||||||
|
|
||||||
" BIND zone
|
" BIND zone
|
||||||
au BufNewFile,BufRead named.root setf bindzone
|
au BufNewFile,BufRead named.root setf bindzone
|
||||||
au BufNewFile,BufRead *.db call filetype#BindzoneCheck('')
|
au BufNewFile,BufRead *.db call dist#ft#BindzoneCheck('')
|
||||||
|
|
||||||
" Blank
|
" Blank
|
||||||
au BufNewFile,BufRead *.bl setf blank
|
au BufNewFile,BufRead *.bl setf blank
|
||||||
@ -238,7 +238,7 @@ if has("fname_case")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" C or lpc
|
" C or lpc
|
||||||
au BufNewFile,BufRead *.c call filetype#FTlpc()
|
au BufNewFile,BufRead *.c call dist#ft#FTlpc()
|
||||||
|
|
||||||
" Calendar
|
" Calendar
|
||||||
au BufNewFile,BufRead calendar setf calendar
|
au BufNewFile,BufRead calendar setf calendar
|
||||||
@ -292,7 +292,7 @@ endif
|
|||||||
" .h files can be C, Ch C++, ObjC or ObjC++.
|
" .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
|
" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is
|
||||||
" detected automatically.
|
" detected automatically.
|
||||||
au BufNewFile,BufRead *.h call filetype#FTheader()
|
au BufNewFile,BufRead *.h call dist#ft#FTheader()
|
||||||
|
|
||||||
" Ch (CHscript)
|
" Ch (CHscript)
|
||||||
au BufNewFile,BufRead *.chf setf ch
|
au BufNewFile,BufRead *.chf setf ch
|
||||||
@ -326,7 +326,7 @@ au BufNewFile,BufRead NEWS
|
|||||||
au BufNewFile,BufRead *..ch setf chill
|
au BufNewFile,BufRead *..ch setf chill
|
||||||
|
|
||||||
" Changes for WEB and CWEB or CHILL
|
" Changes for WEB and CWEB or CHILL
|
||||||
au BufNewFile,BufRead *.ch call filetype#FTchange()
|
au BufNewFile,BufRead *.ch call dist#ft#FTchange()
|
||||||
|
|
||||||
" ChordPro
|
" ChordPro
|
||||||
au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro
|
au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro
|
||||||
@ -338,7 +338,7 @@ au BufNewFile,BufRead *.dcl,*.icl setf clean
|
|||||||
au BufNewFile,BufRead *.eni setf cl
|
au BufNewFile,BufRead *.eni setf cl
|
||||||
|
|
||||||
" Clever or dtd
|
" 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)
|
" Clipper (or FoxPro; could also be eviews)
|
||||||
au BufNewFile,BufRead *.prg
|
au BufNewFile,BufRead *.prg
|
||||||
@ -393,9 +393,9 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
|||||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||||
|
|
||||||
" Euphoria 3 or 4
|
" 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")
|
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
|
endif
|
||||||
|
|
||||||
" Lynx config files
|
" Lynx config files
|
||||||
@ -442,7 +442,7 @@ au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
|
|||||||
au BufNewFile,BufRead *.desc setf desc
|
au BufNewFile,BufRead *.desc setf desc
|
||||||
|
|
||||||
" the D language or dtrace
|
" the D language or dtrace
|
||||||
au BufNewFile,BufRead *.d call filetype#DtraceCheck()
|
au BufNewFile,BufRead *.d call dist#ft#DtraceCheck()
|
||||||
|
|
||||||
" Desktop files
|
" Desktop files
|
||||||
au BufNewFile,BufRead *.desktop,.directory setf desktop
|
au BufNewFile,BufRead *.desktop,.directory setf desktop
|
||||||
@ -474,7 +474,7 @@ au BufNewFile,BufRead *.rul
|
|||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
" DCL (Digital Command Language - vms) or DNS zone file
|
" 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
|
" DOT
|
||||||
au BufNewFile,BufRead *.dot setf dot
|
au BufNewFile,BufRead *.dot setf dot
|
||||||
@ -522,7 +522,7 @@ au BufNewFile,BufRead .editorconfig setf dosini
|
|||||||
au BufNewFile,BufRead *.ecd setf ecd
|
au BufNewFile,BufRead *.ecd setf ecd
|
||||||
|
|
||||||
" Eiffel or Specman or Euphoria
|
" Eiffel or Specman or Euphoria
|
||||||
au BufNewFile,BufRead *.e,*.E call filetype#FTe()
|
au BufNewFile,BufRead *.e,*.E call dist#ft#FTe()
|
||||||
|
|
||||||
" Elinks configuration
|
" Elinks configuration
|
||||||
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
||||||
@ -695,7 +695,7 @@ au BufNewFile,BufRead *.hex,*.h32 setf hex
|
|||||||
au BufNewFile,BufRead *.t.html setf tilde
|
au BufNewFile,BufRead *.t.html setf tilde
|
||||||
|
|
||||||
" HTML (.shtml and .stm for server side)
|
" 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
|
" HTML with Ruby - eRuby
|
||||||
au BufNewFile,BufRead *.erb,*.rhtml setf eruby
|
au BufNewFile,BufRead *.erb,*.rhtml setf eruby
|
||||||
@ -722,7 +722,7 @@ au BufNewFile,BufRead *.htt,*.htb setf httest
|
|||||||
au BufNewFile,BufRead *.icn setf icon
|
au BufNewFile,BufRead *.icn setf icon
|
||||||
|
|
||||||
" IDL (Interface Description Language)
|
" 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
|
" Microsoft IDL (Interface Description Language) Also *.idl
|
||||||
" MOF = WMI (Windows Management Instrumentation) Managed Object Format
|
" MOF = WMI (Windows Management Instrumentation) Managed Object Format
|
||||||
@ -733,10 +733,10 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
|
|||||||
|
|
||||||
" Indent profile (must come before IDL *.pro!)
|
" Indent profile (must come before IDL *.pro!)
|
||||||
au BufNewFile,BufRead .indent.pro setf indent
|
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)
|
" IDL (Interactive Data Language)
|
||||||
au BufNewFile,BufRead *.pro call filetype#ProtoCheck('idlang')
|
au BufNewFile,BufRead *.pro call dist#ft#ProtoCheck('idlang')
|
||||||
|
|
||||||
" Indent RC
|
" Indent RC
|
||||||
au BufNewFile,BufRead indentrc setf indent
|
au BufNewFile,BufRead indentrc setf indent
|
||||||
@ -950,7 +950,7 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
|
|||||||
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
||||||
|
|
||||||
" Mathematica, Matlab, Murphi or Objective C
|
" Mathematica, Matlab, Murphi or Objective C
|
||||||
au BufNewFile,BufRead *.m call filetype#FTm()
|
au BufNewFile,BufRead *.m call dist#ft#FTm()
|
||||||
|
|
||||||
" Mathematica notebook
|
" Mathematica notebook
|
||||||
au BufNewFile,BufRead *.nb setf mma
|
au BufNewFile,BufRead *.nb setf mma
|
||||||
@ -980,7 +980,7 @@ au BufNewFile,BufRead *.mgl setf mgl
|
|||||||
au BufNewFile,BufRead *.mix,*.mixal setf mix
|
au BufNewFile,BufRead *.mix,*.mixal setf mix
|
||||||
|
|
||||||
" MMIX or VMS makefile
|
" MMIX or VMS makefile
|
||||||
au BufNewFile,BufRead *.mms call filetype#FTmms()
|
au BufNewFile,BufRead *.mms call dist#ft#FTmms()
|
||||||
|
|
||||||
" Symbian meta-makefile definition (MMP)
|
" Symbian meta-makefile definition (MMP)
|
||||||
au BufNewFile,BufRead *.mmp setf mmp
|
au BufNewFile,BufRead *.mmp setf mmp
|
||||||
@ -1068,10 +1068,10 @@ au BufNewFile,BufRead *.me
|
|||||||
\ setf nroff |
|
\ setf nroff |
|
||||||
\ endif
|
\ endif
|
||||||
au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom setf nroff
|
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++
|
" Nroff or Objective C++
|
||||||
au BufNewFile,BufRead *.mm call filetype#FTmm()
|
au BufNewFile,BufRead *.mm call dist#ft#FTmm()
|
||||||
|
|
||||||
" Not Quite C
|
" Not Quite C
|
||||||
au BufNewFile,BufRead *.nqc setf nqc
|
au BufNewFile,BufRead *.nqc setf nqc
|
||||||
@ -1126,9 +1126,9 @@ au BufNewFile,BufRead *.pcmk setf pcmk
|
|||||||
|
|
||||||
" Perl
|
" Perl
|
||||||
if has("fname_case")
|
if has("fname_case")
|
||||||
au BufNewFile,BufRead *.pl,*.PL call filetype#FTpl()
|
au BufNewFile,BufRead *.pl,*.PL call dist#ft#FTpl()
|
||||||
else
|
else
|
||||||
au BufNewFile,BufRead *.pl call filetype#FTpl()
|
au BufNewFile,BufRead *.pl call dist#ft#FTpl()
|
||||||
endif
|
endif
|
||||||
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
|
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
|
||||||
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
||||||
@ -1195,7 +1195,7 @@ au BufNewFile,BufRead *.pov setf pov
|
|||||||
au BufNewFile,BufRead .povrayrc setf povini
|
au BufNewFile,BufRead .povrayrc setf povini
|
||||||
|
|
||||||
" Povray, PHP or assembly
|
" Povray, PHP or assembly
|
||||||
au BufNewFile,BufRead *.inc call filetype#FTinc()
|
au BufNewFile,BufRead *.inc call dist#ft#FTinc()
|
||||||
|
|
||||||
" Printcap and Termcap
|
" Printcap and Termcap
|
||||||
au BufNewFile,BufRead *printcap
|
au BufNewFile,BufRead *printcap
|
||||||
@ -1224,13 +1224,13 @@ au BufNewFile,BufRead *.action setf privoxy
|
|||||||
au BufNewFile,BufRead .procmail,.procmailrc setf procmail
|
au BufNewFile,BufRead .procmail,.procmailrc setf procmail
|
||||||
|
|
||||||
" Progress or CWEB
|
" Progress or CWEB
|
||||||
au BufNewFile,BufRead *.w call filetype#FTprogress_cweb()
|
au BufNewFile,BufRead *.w call dist#ft#FTprogress_cweb()
|
||||||
|
|
||||||
" Progress or assembly
|
" Progress or assembly
|
||||||
au BufNewFile,BufRead *.i call filetype#FTprogress_asm()
|
au BufNewFile,BufRead *.i call dist#ft#FTprogress_asm()
|
||||||
|
|
||||||
" Progress or Pascal
|
" 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)
|
" Software Distributor Product Specification File (POSIX 1387.2-1995)
|
||||||
au BufNewFile,BufRead *.psf setf psf
|
au BufNewFile,BufRead *.psf setf psf
|
||||||
@ -1316,7 +1316,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Rexx, Rebol or R
|
" Rexx, Rebol or R
|
||||||
au BufNewFile,BufRead *.r,*.R call filetype#FTr()
|
au BufNewFile,BufRead *.r,*.R call dist#ft#FTr()
|
||||||
|
|
||||||
" Remind
|
" Remind
|
||||||
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
|
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
|
||||||
@ -1412,7 +1412,7 @@ au BufNewFile,BufRead *.siv setf sieve
|
|||||||
au BufNewFile,BufRead sendmail.cf setf sm
|
au BufNewFile,BufRead sendmail.cf setf sm
|
||||||
|
|
||||||
" Sendmail .mc files are actually m4. Could also be MS Message text file.
|
" 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
|
" Services
|
||||||
au BufNewFile,BufRead */etc/services setf services
|
au BufNewFile,BufRead */etc/services setf services
|
||||||
@ -1453,23 +1453,23 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
|||||||
|
|
||||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||||
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
|
" 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 .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 filetype#SetFileTypeSH("ksh")
|
au BufNewFile,BufRead .kshrc*,*.ksh call dist#ft#SetFileTypeSH("ksh")
|
||||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call filetype#SetFileTypeSH(getline(1))
|
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
|
||||||
|
|
||||||
" Shell script (Arch Linux) or PHP file (Drupal)
|
" Shell script (Arch Linux) or PHP file (Drupal)
|
||||||
au BufNewFile,BufRead *.install
|
au BufNewFile,BufRead *.install
|
||||||
\ if getline(1) =~ '<?php' |
|
\ if getline(1) =~ '<?php' |
|
||||||
\ setf php |
|
\ setf php |
|
||||||
\ else |
|
\ else |
|
||||||
\ call filetype#SetFileTypeSH("bash") |
|
\ call dist#ft#SetFileTypeSH("bash") |
|
||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
" tcsh scripts
|
" 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)
|
" 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
|
" Z-Shell script
|
||||||
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
|
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
|
||||||
@ -1540,7 +1540,7 @@ au BufNewFile,BufRead *.mib,*.my setf mib
|
|||||||
|
|
||||||
" Snort Configuration
|
" Snort Configuration
|
||||||
au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog
|
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)
|
" Spec (Linux RPM)
|
||||||
au BufNewFile,BufRead *.spec setf spec
|
au BufNewFile,BufRead *.spec setf spec
|
||||||
@ -1564,7 +1564,7 @@ au BufNewFile,BufRead squid.conf setf squid
|
|||||||
au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql
|
au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql
|
||||||
|
|
||||||
" SQL
|
" SQL
|
||||||
au BufNewFile,BufRead *.sql call filetype#SQL()
|
au BufNewFile,BufRead *.sql call dist#ft#SQL()
|
||||||
|
|
||||||
" SQLJ
|
" SQLJ
|
||||||
au BufNewFile,BufRead *.sqlj setf sqlj
|
au BufNewFile,BufRead *.sqlj setf sqlj
|
||||||
@ -1613,7 +1613,7 @@ au BufNewFile,BufRead *.svg setf svg
|
|||||||
|
|
||||||
" Tads (or Nroff or Perl test file)
|
" Tads (or Nroff or Perl test file)
|
||||||
au BufNewFile,BufRead *.t
|
au BufNewFile,BufRead *.t
|
||||||
\ if !filetype#FTnroff() && !filetype#FTperl() | setf tads | endif
|
\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
|
||||||
|
|
||||||
" Tags
|
" Tags
|
||||||
au BufNewFile,BufRead tags setf tags
|
au BufNewFile,BufRead tags setf tags
|
||||||
@ -1642,7 +1642,7 @@ au BufNewFile,BufRead *.ti setf terminfo
|
|||||||
|
|
||||||
" TeX
|
" TeX
|
||||||
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf 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
|
" ConTeXt
|
||||||
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context
|
au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi setf context
|
||||||
@ -1740,7 +1740,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg
|
|||||||
\ endif
|
\ endif
|
||||||
|
|
||||||
" Visual Basic (also uses *.bas) or FORM
|
" 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
|
" SaxBasic is close to Visual Basic
|
||||||
au BufNewFile,BufRead *.sba setf vb
|
au BufNewFile,BufRead *.sba setf vb
|
||||||
@ -1830,10 +1830,10 @@ au BufNewFile,BufRead .Xdefaults,.Xpdefaults,.Xresources,xdm-config,*.ad setf xd
|
|||||||
" Xmath
|
" Xmath
|
||||||
au BufNewFile,BufRead *.msc,*.msf setf xmath
|
au BufNewFile,BufRead *.msc,*.msf setf xmath
|
||||||
au BufNewFile,BufRead *.ms
|
au BufNewFile,BufRead *.ms
|
||||||
\ if !filetype#FTnroff() | setf xmath | endif
|
\ if !dist#ft#FTnroff() | setf xmath | endif
|
||||||
|
|
||||||
" XML specific variants: docbk and xbl
|
" 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
|
" XMI (holding UML models) is also XML
|
||||||
au BufNewFile,BufRead *.xmi setf xml
|
au BufNewFile,BufRead *.xmi setf xml
|
||||||
@ -1876,7 +1876,7 @@ au BufNewFile,BufRead *.xsl,*.xslt setf xslt
|
|||||||
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
||||||
|
|
||||||
" Yacc or racc
|
" Yacc or racc
|
||||||
au BufNewFile,BufRead *.y call filetype#FTy()
|
au BufNewFile,BufRead *.y call dist#ft#FTy()
|
||||||
|
|
||||||
" Yaml
|
" Yaml
|
||||||
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
||||||
@ -1892,9 +1892,9 @@ au BufNewFile,BufRead *.zut setf zimbutempl
|
|||||||
" Zope
|
" Zope
|
||||||
" dtml (zope dynamic template markup language), pt (zope page template),
|
" dtml (zope dynamic template markup language), pt (zope page template),
|
||||||
" cpt (zope form controller 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)
|
" zsql (zope sql method)
|
||||||
au BufNewFile,BufRead *.zsql call filetype#SQL()
|
au BufNewFile,BufRead *.zsql call dist#ft#SQL()
|
||||||
|
|
||||||
" Z80 assembler asz80
|
" Z80 assembler asz80
|
||||||
au BufNewFile,BufRead *.z8a setf z8a
|
au BufNewFile,BufRead *.z8a setf z8a
|
||||||
@ -2048,7 +2048,7 @@ au BufNewFile,BufRead *termcap*
|
|||||||
|
|
||||||
" ReDIF
|
" ReDIF
|
||||||
" Only used when the .rdf file was not detected to be XML.
|
" 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
|
" Remind
|
||||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types in scripts
|
" Vim support file to detect file types in scripts
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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
|
" 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
|
" 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
|
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|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
|
" csh scripts
|
||||||
elseif s:name =~# '^csh\>'
|
elseif s:name =~# '^csh\>'
|
||||||
if exists("g:filetype_csh")
|
if exists("g:filetype_csh")
|
||||||
call filetype#SetFileTypeShell(g:filetype_csh)
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
else
|
else
|
||||||
call filetype#SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" tcsh scripts
|
" tcsh scripts
|
||||||
elseif s:name =~# '^tcsh\>'
|
elseif s:name =~# '^tcsh\>'
|
||||||
call filetype#SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:name =~# '^zsh\>'
|
elseif s:name =~# '^zsh\>'
|
||||||
@ -185,7 +185,7 @@ else
|
|||||||
|
|
||||||
" Bourne-like shell scripts: sh ksh bash bash2
|
" Bourne-like shell scripts: sh ksh bash bash2
|
||||||
if s:line1 =~# '^:$'
|
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
|
" Z shell scripts
|
||||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||||
|
14
src/Makefile
14
src/Makefile
@ -2381,8 +2381,8 @@ installruntime: installrtbase installmacros installpack installtutor installspel
|
|||||||
# install the help files; first adjust the contents for the final location
|
# install the help files; first adjust the contents for the final location
|
||||||
installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||||
$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
|
$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
|
||||||
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG) \
|
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml \
|
||||||
$(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
$(DEST_PLUG) $(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
||||||
-$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
|
-$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
|
||||||
# Generate the help tags with ":helptags" to handle all languages.
|
# Generate the help tags with ":helptags" to handle all languages.
|
||||||
# Move the distributed tags file aside and restore it, to avoid it being
|
# Move the distributed tags file aside and restore it, to avoid it being
|
||||||
@ -2458,6 +2458,8 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
|||||||
# install the standard autoload files
|
# install the standard autoload files
|
||||||
cd $(AUTOSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_AUTO)
|
cd $(AUTOSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_AUTO)
|
||||||
cd $(DEST_AUTO); chmod $(HELPMOD) *.vim README.txt
|
cd $(DEST_AUTO); chmod $(HELPMOD) *.vim README.txt
|
||||||
|
cd $(AUTOSOURCE)/dist; $(INSTALL_DATA) *.vim $(DEST_AUTO)/dist
|
||||||
|
cd $(DEST_AUTO)/dist; chmod $(HELPMOD) *.vim
|
||||||
cd $(AUTOSOURCE)/xml; $(INSTALL_DATA) *.vim $(DEST_AUTO)/xml
|
cd $(AUTOSOURCE)/xml; $(INSTALL_DATA) *.vim $(DEST_AUTO)/xml
|
||||||
cd $(DEST_AUTO)/xml; chmod $(HELPMOD) *.vim
|
cd $(DEST_AUTO)/xml; chmod $(HELPMOD) *.vim
|
||||||
# install the standard plugin files
|
# install the standard plugin files
|
||||||
@ -2653,7 +2655,7 @@ $(DESTDIR)$(exec_prefix) $(DEST_BIN) \
|
|||||||
$(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) $(DEST_FTP) \
|
$(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) $(DEST_FTP) \
|
||||||
$(DEST_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
|
$(DEST_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
|
||||||
$(DEST_PACK) $(DEST_TOOLS) $(DEST_TUTOR) $(DEST_SPELL) \
|
$(DEST_PACK) $(DEST_TOOLS) $(DEST_TUTOR) $(DEST_SPELL) \
|
||||||
$(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG):
|
$(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_PLUG):
|
||||||
$(MKDIR_P) $@
|
$(MKDIR_P) $@
|
||||||
-chmod $(DIRMOD) $@
|
-chmod $(DIRMOD) $@
|
||||||
|
|
||||||
@ -2808,9 +2810,11 @@ uninstall_runtime:
|
|||||||
-rm -f $(DEST_PRINT)/*.ps
|
-rm -f $(DEST_PRINT)/*.ps
|
||||||
-rmdir $(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND)
|
-rmdir $(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND)
|
||||||
-rm -rf $(DEST_FTP)/*.vim $(DEST_FTP)/README.txt $(DEST_FTP)/logtalk.dict
|
-rm -rf $(DEST_FTP)/*.vim $(DEST_FTP)/README.txt $(DEST_FTP)/logtalk.dict
|
||||||
-rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt $(DEST_AUTO)/xml/*.vim
|
-rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt
|
||||||
|
-rm -f $(DEST_AUTO)/dist/*.vim $(DEST_AUTO)/xml/*.vim
|
||||||
-rm -f $(DEST_PLUG)/*.vim $(DEST_PLUG)/README.txt
|
-rm -f $(DEST_PLUG)/*.vim $(DEST_PLUG)/README.txt
|
||||||
-rmdir $(DEST_FTP) $(DEST_AUTO)/xml $(DEST_AUTO) $(DEST_PLUG) $(DEST_RT)
|
-rmdir $(DEST_FTP) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_AUTO)
|
||||||
|
-rmdir $(DEST_PLUG) $(DEST_RT)
|
||||||
# This will fail when other Vim versions are installed, no worries.
|
# This will fail when other Vim versions are installed, no worries.
|
||||||
-rmdir $(DEST_VIM)
|
-rmdir $(DEST_VIM)
|
||||||
|
|
||||||
|
@ -761,6 +761,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1285,
|
||||||
/**/
|
/**/
|
||||||
1284,
|
1284,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user