diff options
| author | Maxime Coste <mawww@kakoune.org> | 2020-08-02 16:25:07 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2020-08-02 16:25:07 +1000 |
| commit | f60b0a14413bdf7ace0185996c14d3f18cd588e6 (patch) | |
| tree | 6b9c41d945a280fd4caba09169d873eb9940d04d /rc/filetype/ruby.kak | |
| parent | b4d7ba83500e2ffb357a1f1b94277577a8857795 (diff) | |
| parent | 57e9719c25a3038d34b91bff2258cac323e80813 (diff) | |
Merge remote-tracking branch 'johnisom/ruby-indentation'
Diffstat (limited to 'rc/filetype/ruby.kak')
| -rw-r--r-- | rc/filetype/ruby.kak | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/rc/filetype/ruby.kak b/rc/filetype/ruby.kak index 5c974580..6fbe951a 100644 --- a/rc/filetype/ruby.kak +++ b/rc/filetype/ruby.kak @@ -150,10 +150,10 @@ define-command -hidden ruby-trim-indent %{ define-command -hidden ruby-indent-on-char %{ evaluate-commands -no-hooks -draft -itersel %{ # align middle and end structures to start - try %{ execute-keys -draft <a-x> <a-k> ^ \h * (else|elsif) $ <ret> <a-semicolon> <a-?> ^ \h * (if) <ret> s \A | \z <ret> ) <a-&> } - try %{ execute-keys -draft <a-x> <a-k> ^ \h * (when) $ <ret> <a-semicolon> <a-?> ^ \h * (case) <ret> s \A | \z <ret> ) <a-&> } - try %{ execute-keys -draft <a-x> <a-k> ^ \h * (rescue) $ <ret> <a-semicolon> <a-?> ^ \h * (begin) <ret> s \A | \z <ret> ) <a-&> } - try %{ execute-keys -draft <a-x> <a-k> ^ \h * (end) $ <ret> <a-semicolon> <a-?> ^ \h * (begin|case|class|def|for|if|module|unless|until|while) <ret> s \A | \z <ret> ) <a-&> } + try %{ execute-keys -draft <a-x> <a-k> ^ \h * (else|elsif) $ <ret> <a-a> i <a-semicolon> <a-?> ^ \h * (if) <ret> <a-S> 1<a-&> } + try %{ execute-keys -draft <a-x> <a-k> ^ \h * (else|when) $ <ret> <a-a> i <a-semicolon> <a-?> ^ \h * (case) <ret> <a-S> 1<a-&> } + try %{ execute-keys -draft <a-x> <a-k> ^ \h * (rescue) $ <ret> <a-a> i <a-semicolon> <a-?> ^ \h * (begin|def) <ret> <a-S> 1<a-&> } + try %{ execute-keys -draft <a-x> <a-k> ^ \h * (end) $ <ret> <a-a> i <a-semicolon> <a-?> ^ \h * (begin|case|class|def|for|if|module|unless|until|while) <ret> <a-S> 1<a-&> } } } @@ -180,7 +180,7 @@ define-command -hidden ruby-insert-on-new-line %[ # Check if previous line opens a block execute-keys -draft k<a-x> <a-k>^<c-r>x(begin|case|class|def|for|if|module|unless|until|while|.+\bdo$|.+\bdo\h\|.+(?=\|))[^0-9A-Za-z_!?]<ret> # Check that we do not already have an end for this indent level which is first set via `ruby-indent-on-new-line` hook - execute-keys -draft }i J <a-x> <a-K> ^<c-r>x(end|else|elsif|rescue)[^0-9A-Za-z_!?]<ret> + execute-keys -draft }i J <a-x> <a-K> ^<c-r>x(end|else|elsif|rescue|when)[^0-9A-Za-z_!?]<ret> ] execute-keys -draft o<c-r>xend<esc> # insert a new line with containing end ] |
