diff options
author | Bram Moolenaar <Bram@vim.org> | 2005-06-25 23:04:51 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2005-06-25 23:04:51 +0000 |
commit | f461c8e7f8ce2fd2ac3367680ec4c540f04ab259 (patch) | |
tree | bfacc7b1f4c7b6087026c9e8c39bb1f7b305d22f /runtime/indent | |
parent | ea408854a8360b6925122ce7709b424ab3005209 (diff) | |
download | vim-git-f461c8e7f8ce2fd2ac3367680ec4c540f04ab259.tar.gz |
updated for version 7.0093v7.0093
Diffstat (limited to 'runtime/indent')
-rw-r--r-- | runtime/indent/lua.vim | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/runtime/indent/lua.vim b/runtime/indent/lua.vim index ace7fd1a7..ffe03be4a 100644 --- a/runtime/indent/lua.vim +++ b/runtime/indent/lua.vim @@ -2,7 +2,7 @@ " Language: Lua script " Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> " First Author: Max Ischenko <mfi 'at' ukr.net> -" Last Change: 2005 Jun 09 +" Last Change: 2005 Jun 23 " Only load this indent file when no other was loaded. if exists("b:did_indent") @@ -10,19 +10,19 @@ if exists("b:did_indent") endif let b:did_indent = 1 -" Only define the function once. -if exists("*GetLuaIndent") - finish -endif - setlocal indentexpr=GetLuaIndent() " To make Vim call GetLuaIndent() when it finds '\s*end' or '\s*until' -" on the current line (else is default). +" on the current line ('else' is default and includes 'elseif'). setlocal indentkeys+=0=end,0=until setlocal autoindent +" Only define the function once. +if exists("*GetLuaIndent") + finish +endif + function! GetLuaIndent() " Find a non-blank line above the current line. let lnum = prevnonblank(v:lnum - 1) @@ -32,18 +32,19 @@ function! GetLuaIndent() return 0 endif - " Add a 'shiftwidth' after lines beginning with: - " function, if, for, while, repeat, else, elseif, '{' + " Add a 'shiftwidth' after lines that start a block: + " 'function', 'if', 'for', 'while', 'repeat', 'else', 'elseif', '{' let ind = indent(lnum) let flag = 0 let prevline = getline(lnum) - if prevline =~ '^\s*\%(if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\)' || prevline =~ '{\s*$' || prevline =~ '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(' + if prevline =~ '^\s*\%(if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\|then\>\)' + \ || prevline =~ '{\s*$' || prevline =~ '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(' let ind = ind + &shiftwidth let flag = 1 endif " Subtract a 'shiftwidth' after lines ending with - " 'end' when they begin with while, if, for, etc. + " 'end' when they begin with 'while', 'if', 'for', etc. too. if flag == 1 && prevline =~ '\<end\>\|\<until\>' let ind = ind - &shiftwidth endif |