summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2021-03-23 19:57:46 +1100
committerMaxime Coste <mawww@kakoune.org>2021-03-23 19:57:46 +1100
commitd8fbe3105d19d1d3ced589d268cd41498d941fd3 (patch)
tree3821e23d361e1db4fd414ea07bf54f82879a8aac
parentc123c7ef06379a6c5d93cc1cc1d118caefb746b6 (diff)
parent78a0b5e4c70878146ddbfd2727b4d3ae0d0209a4 (diff)
Merge branch 'lua-auto-indent-improvement' of http://github.com/cipharius/kakoune
-rw-r--r--rc/filetype/lua.kak7
1 files changed, 4 insertions, 3 deletions
diff --git a/rc/filetype/lua.kak b/rc/filetype/lua.kak
index 82dc51cc..6c3f9f52 100644
--- a/rc/filetype/lua.kak
+++ b/rc/filetype/lua.kak
@@ -105,7 +105,7 @@ define-command -hidden lua-indent-on-new-line %{
# preserve previous non-empty line indent
try %{ execute-keys -draft <space><a-?>^[^\n]+$<ret>s\A|.\z<ret>)<a-&> }
# indent after start structure
- try %{ execute-keys -draft <a-?>^[^\n]*\w+[^\n]*$<ret><a-k>^\h*(else|elseif|for|function|if|while)\b<ret><a-:><semicolon><a-gt> }
+ try %{ execute-keys -draft <a-?>^[^\n]*\w+[^\n]*$<ret><a-k>\b(else|elseif|for|function|if|while)\b<ret><a-K>\bend\b<ret><a-:><semicolon><a-gt> }
}
}
@@ -116,8 +116,9 @@ define-command -hidden lua-insert-on-new-line %[
# wisely add end structure
evaluate-commands -save-regs x %[
try %{ execute-keys -draft k<a-x>s^\h+<ret>"xy } catch %{ reg x '' } # Save previous line indent in register x
- try %[ execute-keys -draft k<a-x> <a-k>^<c-r>x(for|function|if|while)<ret> J}iJ<a-x> <a-K>^<c-r>x(else|end|elseif)$<ret> # Validate previous line and that it is not closed yet
- execute-keys -draft o<c-r>xend<esc> ] # auto insert end
+ try %[ execute-keys -draft k<a-x> <a-k>^<c-r>x\b[^\n]*(for|function|if|while)<ret><a-K>\bend\b<ret> J}iJ<a-x> <a-K>^<c-r>x(else|end|elseif)$<ret> # Validate previous line and that it is not closed yet
+ execute-keys -draft o<c-r>xend<esc> # auto insert end
+ execute-keys -draft k<a-x><a-k>\(function\b<ret>jjA)<esc> ] # auto insert ) for anonymous function
]
]
]