aboutsummaryrefslogtreecommitdiff
path: root/runtime/indent/lua.vim
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-11-29 22:39:54 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-11-29 22:39:54 +0000
commit21cb7d04c387e4198ca8098a884c78b56ffcf4c2 (patch)
tree84fe5690df1551f0bb2bdfe1a13aacd29ebc1de7 /runtime/indent/lua.vim
parentd9c904f85a23a496df4eb6be42aa43f007b22d50 (diff)
parent4a8bf24ac690004aedf5540fa440e788459e5e34 (diff)
downloadrneovim-21cb7d04c387e4198ca8098a884c78b56ffcf4c2.tar.gz
rneovim-21cb7d04c387e4198ca8098a884c78b56ffcf4c2.tar.bz2
rneovim-21cb7d04c387e4198ca8098a884c78b56ffcf4c2.zip
Merge remote-tracking branch 'upstream/master' into colorcolcharcolorcolchar
Diffstat (limited to 'runtime/indent/lua.vim')
-rw-r--r--runtime/indent/lua.vim12
1 files changed, 11 insertions, 1 deletions
diff --git a/runtime/indent/lua.vim b/runtime/indent/lua.vim
index 0d1f934a03..35b08d4037 100644
--- a/runtime/indent/lua.vim
+++ b/runtime/indent/lua.vim
@@ -27,6 +27,16 @@ if exists("*GetLuaIndent")
endif
function! GetLuaIndent()
+ let ignorecase_save = &ignorecase
+ try
+ let &ignorecase = 0
+ return GetLuaIndentIntern()
+ finally
+ let &ignorecase = ignorecase_save
+ endtry
+endfunction
+
+function! GetLuaIndentIntern()
" Find a non-blank line above the current line.
let prevlnum = prevnonblank(v:lnum - 1)
@@ -41,7 +51,7 @@ function! GetLuaIndent()
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*$')
+ let midx = match(prevline, '{\s*\%(--\%([^[].*\)\?\)\?$')
if midx == -1
let midx = match(prevline, '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(')
endif