mirror of
https://github.com/vim/vim
synced 2025-07-16 01:01:58 +00: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:
1
Filelist
1
Filelist
@ -659,6 +659,7 @@ RT_SCRIPTS = \
|
||||
runtime/makemenu.vim \
|
||||
runtime/autoload/*.vim \
|
||||
runtime/autoload/README.txt \
|
||||
runtime/autoload/dist/*.vim \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
|
@ -268,6 +268,9 @@ Section "Vim executables and runtime files"
|
||||
SetOutPath $0\autoload
|
||||
File ${VIMRT}\autoload\*.*
|
||||
|
||||
SetOutPath $0\autoload\dist
|
||||
File ${VIMRT}\autoload\dist\*.*
|
||||
|
||||
SetOutPath $0\autoload\xml
|
||||
File ${VIMRT}\autoload\xml\*.*
|
||||
|
||||
|
@ -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:"
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" 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
|
||||
if exists("did_load_filetypes")
|
||||
@ -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
|
||||
@ -154,7 +154,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
|
||||
@ -184,7 +184,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
|
||||
@ -202,7 +202,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
|
||||
@ -222,7 +222,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
|
||||
@ -238,7 +238,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
|
||||
@ -292,7 +292,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
|
||||
@ -326,7 +326,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
|
||||
@ -338,7 +338,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
|
||||
@ -393,9 +393,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
|
||||
@ -442,7 +442,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
|
||||
@ -474,7 +474,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
|
||||
@ -522,7 +522,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
|
||||
@ -695,7 +695,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
|
||||
@ -722,7 +722,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
|
||||
@ -733,10 +733,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
|
||||
@ -950,7 +950,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
|
||||
@ -980,7 +980,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
|
||||
@ -1068,10 +1068,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
|
||||
@ -1126,9 +1126,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
|
||||
@ -1195,7 +1195,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
|
||||
@ -1224,13 +1224,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
|
||||
@ -1316,7 +1316,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
|
||||
@ -1412,7 +1412,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
|
||||
@ -1453,23 +1453,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
|
||||
@ -1540,7 +1540,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
|
||||
@ -1564,7 +1564,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
|
||||
@ -1613,7 +1613,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
|
||||
@ -1642,7 +1642,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
|
||||
@ -1740,7 +1740,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
|
||||
@ -1830,10 +1830,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
|
||||
@ -1876,7 +1876,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
|
||||
@ -1892,9 +1892,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
|
||||
@ -2048,7 +2048,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\>' ||
|
||||
|
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
|
||||
installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
|
||||
$(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
|
||||
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG) \
|
||||
$(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
||||
$(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml \
|
||||
$(DEST_PLUG) $(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
|
||||
# Generate the help tags with ":helptags" to handle all languages.
|
||||
# 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
|
||||
cd $(AUTOSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_AUTO)
|
||||
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 $(DEST_AUTO)/xml; chmod $(HELPMOD) *.vim
|
||||
# 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_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
|
||||
$(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) $@
|
||||
-chmod $(DIRMOD) $@
|
||||
|
||||
@ -2808,9 +2810,11 @@ uninstall_runtime:
|
||||
-rm -f $(DEST_PRINT)/*.ps
|
||||
-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 -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
|
||||
-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.
|
||||
-rmdir $(DEST_VIM)
|
||||
|
||||
|
@ -761,6 +761,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1285,
|
||||
/**/
|
||||
1284,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user