diff options
| author | Maxime Coste <mawww@kakoune.org> | 2021-03-23 19:57:46 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2021-03-23 19:57:46 +1100 |
| commit | d8fbe3105d19d1d3ced589d268cd41498d941fd3 (patch) | |
| tree | 3821e23d361e1db4fd414ea07bf54f82879a8aac | |
| parent | c123c7ef06379a6c5d93cc1cc1d118caefb746b6 (diff) | |
| parent | 78a0b5e4c70878146ddbfd2727b4d3ae0d0209a4 (diff) | |
Merge branch 'lua-auto-indent-improvement' of http://github.com/cipharius/kakoune
| -rw-r--r-- | rc/filetype/lua.kak | 7 |
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 ] ] ] |
