diff runtime/indent/ada.vim @ 856:8cd729851562 v7.0g

updated for version 7.0g
author vimboss
date Sun, 30 Apr 2006 18:54:39 +0000
parents 125e80798a85
children e63691e7c504
line wrap: on
line diff
--- a/runtime/indent/ada.vim
+++ b/runtime/indent/ada.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Ada
 " Maintainer:	Neil Bird <neil@fnxweb.com>
-" Last Change:	2004 Nov 23
+" Last Change:	2006 Apr 30
 " Version:	$Id$
 " Look for the latest version at http://vim.sourceforge.net/
 "
@@ -44,25 +44,25 @@ function s:MainBlockIndent( prev_indent,
    let line = substitute( getline(lnum), s:AdaComment, '', '' )
    while lnum > 1
       if a:stop_at != ''  &&  line =~ '^\s*' . a:stop_at  &&  indent(lnum) < a:prev_indent
-         return a:prev_indent
+	 return a:prev_indent
       elseif line =~ '^\s*' . a:blockstart
-         let ind = indent(lnum)
-         if ind < a:prev_indent
-            return ind
-         endif
+	 let ind = indent(lnum)
+	 if ind < a:prev_indent
+	    return ind
+	 endif
       endif
 
       let lnum = prevnonblank(lnum - 1)
       " Get previous non-blank/non-comment-only line
       while 1
-         let line = substitute( getline(lnum), s:AdaComment, '', '' )
-         if line !~ '^\s*$' && line !~ '^\s*#'
-            break
-         endif
-         let lnum = prevnonblank(lnum - 1)
-         if lnum <= 0
-            return a:prev_indent
-         endif
+	 let line = substitute( getline(lnum), s:AdaComment, '', '' )
+	 if line !~ '^\s*$' && line !~ '^\s*#'
+	    break
+	 endif
+	 let lnum = prevnonblank(lnum - 1)
+	 if lnum <= 0
+	    return a:prev_indent
+	 endif
       endwhile
    endwhile
    " Fallback - just move back one
@@ -82,15 +82,15 @@ function s:EndBlockIndent( prev_indent, 
    while lnum > 1
       if getline(lnum) =~ '^\s*' . a:blockstart
 	 let ind = indent(lnum)
-         if ends <= 0
-            if ind < a:prev_indent
+	 if ends <= 0
+	    if ind < a:prev_indent
 	       return ind
-            endif
-         else
-            let ends = ends - 1
+	    endif
+	 else
+	    let ends = ends - 1
 	 endif
       elseif getline(lnum) =~ '^\s*' . a:blockend
-         let ends = ends + 1
+	 let ends = ends + 1
       endif
 
       let lnum = prevnonblank(lnum - 1)
@@ -122,25 +122,25 @@ function s:StatementIndent( current_inde
       let lnum = prevnonblank(lnum - 1)
       " Get previous non-blank/non-comment-only line
       while 1
-         let line = substitute( getline(lnum), s:AdaComment, '', '' )
-         if line !~ '^\s*$' && line !~ '^\s*#'
-            break
-         endif
-         let lnum = prevnonblank(lnum - 1)
-         if lnum <= 0
-            return a:current_indent
-         endif
+	 let line = substitute( getline(lnum), s:AdaComment, '', '' )
+	 if line !~ '^\s*$' && line !~ '^\s*#'
+	    break
+	 endif
+	 let lnum = prevnonblank(lnum - 1)
+	 if lnum <= 0
+	    return a:current_indent
+	 endif
       endwhile
       " Leave indent alone if our ';' line is part of a ';'-delineated
       " aggregate (e.g., procedure args.) or first line after a block start.
       if line =~ s:AdaBlockStart || line =~ '(\s*$'
-         return a:current_indent
+	 return a:current_indent
       endif
       if line !~ '[.=(]\s*$'
-         let ind = indent(prev_lnum)
-         if ind < a:current_indent
-            return ind
-         endif
+	 let ind = indent(prev_lnum)
+	 if ind < a:current_indent
+	    return ind
+	 endif
       endif
    endwhile
    " Fallback - just use current one
@@ -159,11 +159,11 @@ function GetAdaIndent()
    while 1
       let line = substitute( getline(lnum), s:AdaComment, '', '' )
       if line !~ '^\s*$' && line !~ '^\s*#'
-         break
+	 break
       endif
       let lnum = prevnonblank(lnum - 1)
       if lnum <= 0
-         return ind
+	 return ind
       endif
    endwhile
 
@@ -176,15 +176,15 @@ function GetAdaIndent()
       " Check for false matches to AdaBlockStart
       let false_match = 0
       if line =~ '^\s*\(procedure\|function\|package\)\>.*\<is\s*new\>'
-         " Generic instantiation
-         let false_match = 1
+	 " Generic instantiation
+	 let false_match = 1
       elseif line =~ ')\s*;\s*$'  ||  line =~ '^\([^(]*([^)]*)\)*[^(]*;\s*$'
-         " forward declaration
-         let false_match = 1
+	 " forward declaration
+	 let false_match = 1
       endif
       " Move indent in
       if ! false_match
-         let ind = ind + &sw
+	 let ind = ind + &sw
       endif
    elseif line =~ '^\s*\(case\|exception\)\>'
       " Move indent in twice (next 'when' will move back)
@@ -198,10 +198,10 @@ function GetAdaIndent()
       exe lnum
       exe 'normal! $F)%'
       if getline('.') =~ '^\s*('
-         " Dire layout - use previous indent (could check for AdaComment here)
-         let ind = indent( prevnonblank( line('.')-1 ) )
+	 " Dire layout - use previous indent (could check for AdaComment here)
+	 let ind = indent( prevnonblank( line('.')-1 ) )
       else
-         let ind = indent('.')
+	 let ind = indent('.')
       endif
       exe v:lnum
    elseif line =~ '[.=(]\s*$'
@@ -227,7 +227,7 @@ function GetAdaIndent()
    elseif continuation && line =~ '^\s*('
       " Don't do this if we've already indented due to the previous line
       if ind == initind
-         let ind = ind + &sw
+	 let ind = ind + &sw
       endif
    elseif line =~ '^\s*\(begin\|is\)\>'
       let ind = s:MainBlockIndent( ind, lnum, '\(procedure\|function\|declare\|package\|task\)\>', 'begin\>' )