diff runtime/scripts.vim @ 39:c16898406ff2

synchorinize version 7.3.081
author one@zeus.cr.ie.u-ryukyu.ac.jp
date Fri, 17 Dec 2010 17:43:06 +0900
parents 6a13985590e6
children
line wrap: on
line diff
--- a/runtime/scripts.vim	Wed Nov 26 18:20:31 2008 +0900
+++ b/runtime/scripts.vim	Fri Dec 17 17:43:06 2010 +0900
@@ -1,7 +1,7 @@
 " Vim support file to detect file types in scripts
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last change:	2008 Aug 09
+" Last change:	2010 Sep 22
 
 " 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
@@ -100,6 +100,10 @@
   elseif s:name =~ 'lua'
     set ft=lua
 
+    " Perl 6
+  elseif s:name =~ 'perl6'
+    set ft=perl6
+
     " Perl
   elseif s:name =~ 'perl'
     set ft=perl
@@ -164,7 +168,8 @@
     call SetFileTypeSH(s:line1)	" defined in filetype.vim
 
     " Z shell scripts
-  elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>'
+  elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' ||
+        \ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
     set ft=zsh
 
   " ELM Mail files
@@ -318,30 +323,31 @@
     set ft=scheme
 
   " Git output
-  elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}$\|^tag \S\+$'
+  elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
     set ft=git
 
   " CVS diff
   else
-    let lnum = 1
-    while getline(lnum) =~ "^? " && lnum < line("$")
-      let lnum = lnum + 1
+    let s:lnum = 1
+    while getline(s:lnum) =~ "^? " && s:lnum < line("$")
+      let s:lnum += 1
     endwhile
-    if getline(lnum) =~ '^Index:\s\+\f\+$'
+    if getline(s:lnum) =~ '^Index:\s\+\f\+$'
       set ft=diff
 
       " locale input files: Formal Definitions of Cultural Conventions
       " filename must be like en_US, fr_FR@euro or en_US.UTF-8
     elseif expand("%") =~ '\a\a_\a\a\($\|[.@]\)\|i18n$\|POSIX$\|translit_'
-      let lnum = 1
-      while lnum < 100 && lnum < line("$")
-	if getline(lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
+      let s:lnum = 1
+      while s:lnum < 100 && s:lnum < line("$")
+	if getline(s:lnum) =~ '^LC_\(IDENTIFICATION\|CTYPE\|COLLATE\|MONETARY\|NUMERIC\|TIME\|MESSAGES\|PAPER\|TELEPHONE\|MEASUREMENT\|NAME\|ADDRESS\)$'
 	  setf fdcc
 	  break
 	endif
-	let lnum = lnum + 1
+	let s:lnum += 1
       endwhile
     endif
+    unlet s:lnum
 
   endif