diff options
author | Bram Moolenaar <Bram@vim.org> | 2005-06-29 22:40:58 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2005-06-29 22:40:58 +0000 |
commit | 42eeac3552c5a5ea10f24373f76b93633b6c8604 (patch) | |
tree | 902f3158470a3e9c53850708cf982c85c6338796 /runtime/indent/sh.vim | |
parent | 24bbcfe8fe62ea43b1cea86243be4fdc8794140b (diff) | |
download | vim-42eeac3552c5a5ea10f24373f76b93633b6c8604.zip |
updated for version 7.0097
Diffstat (limited to 'runtime/indent/sh.vim')
-rw-r--r-- | runtime/indent/sh.vim | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim index 880ad12ce..b6ce77459 100644 --- 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 |