diff options
Diffstat (limited to 'indent/lua.vim')
| -rw-r--r-- | indent/lua.vim | 67 | 
1 files changed, 0 insertions, 67 deletions
diff --git a/indent/lua.vim b/indent/lua.vim index 9db1d7db..3c33c032 100644 --- a/indent/lua.vim +++ b/indent/lua.vim @@ -1,70 +1,3 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim indent file -" Language:	Lua script -" Maintainer:	Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> -" First Author:	Max Ischenko <mfi 'at' ukr.net> -" Last Change:	2017 Jun 13 - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") -  finish -endif -let b:did_indent = 1 - -setlocal indentexpr=GetLuaIndent() - -" To make Vim call GetLuaIndent() when it finds '\s*end' or '\s*until' -" 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 prevlnum = prevnonblank(v:lnum - 1) - -  " Hit the start of the file, use zero indent. -  if prevlnum == 0 -    return 0 -  endif - -  " Add a 'shiftwidth' after lines that start a block: -  " 'function', 'if', 'for', 'while', 'repeat', 'else', 'elseif', '{' -  let ind = indent(prevlnum) -  let prevline = getline(prevlnum) -  let midx = match(prevline, '^\s*\%(if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\|then\>\)') -  if midx == -1 -    let midx = match(prevline, '{\s*$') -    if midx == -1 -      let midx = match(prevline, '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(') -    endif -  endif - -  if midx != -1 -    " Add 'shiftwidth' if what we found previously is not in a comment and -    " an "end" or "until" is not present on the same line. -    if synIDattr(synID(prevlnum, midx + 1, 1), "name") != "luaComment" && prevline !~ '\<end\>\|\<until\>' -      let ind = ind + shiftwidth() -    endif -  endif - -  " Subtract a 'shiftwidth' on end, else, elseif, until and '}' -  " This is the part that requires 'indentkeys'. -  let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|elseif\>\|until\>\|}\)') -  if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment" -    let ind = ind - shiftwidth() -  endif - -  return ind -endfunction - -endif  if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'lua') == -1  " Vim indent file  | 
