diff runtime/indent/sh.vim @ 375:f14cbd913415 v7.0097

updated for version 7.0097
author vimboss
date Wed, 29 Jun 2005 22:40:58 +0000
parents 3fc0f57ecb91
children 1f3b1021f002
line wrap: on
line diff
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,33 +1,26 @@
 " Vim indent file
-" Language:	    Shell Script
-" Maintainer:	    Nikolai Weibull <source@pcppopper.org>
-" URL:		    http://www.pcppopper.org/vim/indent/pcp/sh/
-" Latest Revision:  2004-04-25
-" arch-tag:	    431c7fc1-12a6-4d71-9636-1498ef56b038
+" Language:         Shell Script
+" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision:  2005-06-29
 
-" Only load this indent file when no other was loaded.
 if exists("b:did_indent")
   finish
 endif
-
 let b:did_indent = 1
 
 setlocal indentexpr=GetShIndent()
 setlocal indentkeys+==then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
 setlocal indentkeys-=:,0#
 
-" Only define the function once.
 if exists("*GetShIndent")
   finish
 endif
 
-set cpoptions-=C
+let s:cpo_save = &cpo
+set cpo&vim
 
 function GetShIndent()
-  " Find a non-blank line above the current line.
   let lnum = prevnonblank(v:lnum - 1)
-
-  " Hit the start of the file, use zero indent.
   if lnum == 0
     return 0
   endif
@@ -37,8 +30,8 @@ function GetShIndent()
   let ind = indent(lnum)
   let line = getline(lnum)
   if line =~ '^\s*\(if\|then\|do\|else\|elif\|case\|while\|until\|for\)\>'
-	\ || line =~ '^\s*\<\h\w*\>\s*()\s*{'
-	\ || line =~ '^\s*{'
+        \ || line =~ '^\s*\<\k\+\>\s*()\s*{'
+        \ || line =~ '^\s*{'
     if line !~ '\(esac\|fi\|done\)\>\s*$' && line !~ '}\s*$'
       let ind = ind + &sw
     endif
@@ -48,11 +41,12 @@ function GetShIndent()
   " Retain the indentation level if line matches fin (for find)
   let line = getline(v:lnum)
   if (line =~ '^\s*\(then\|do\|else\|elif\|esac\|fi\|done\)\>' || line =~ '^\s*}')
-	\ && line !~ '^\s*fi[ln]\>'
+        \ && line !~ '^\s*fi[ln]\>'
     let ind = ind - &sw
   endif
 
   return ind
 endfunction
 
-" vim: set sts=2 sw=2:
+let &cpo = s:cpo_save
+unlet s:cpo_save