diff options
| author | Michał Kruszewski <mkru@protonmail.com> | 2020-09-18 15:06:23 +0200 |
|---|---|---|
| committer | Michał Kruszewski <mkru@protonmail.com> | 2020-09-20 12:25:26 +0200 |
| commit | f78cd6daf88540792c342ac3ee2979aaeb2ddd1f (patch) | |
| tree | 27bbc02101da82e55d6b80a75d1c1e430ddf260d | |
| parent | dbd7e4da79ff59a63be03c580d3f396657199596 (diff) | |
Improve '}' auto inserting for go language.
Adding "} else if ... {" was not correctly handled.
| -rw-r--r-- | rc/filetype/go.kak | 4 | ||||
| -rw-r--r-- | test/indent/go/deindent-generic-closing-brace/in | 6 | ||||
| -rw-r--r-- | test/indent/go/deindent-generic-closing-brace/out | 7 |
3 files changed, 15 insertions, 2 deletions
diff --git a/rc/filetype/go.kak b/rc/filetype/go.kak index e9d98fe0..4c9ad7ee 100644 --- a/rc/filetype/go.kak +++ b/rc/filetype/go.kak @@ -134,7 +134,7 @@ define-command -hidden go-insert-on-new-line %[ try %[ execute-keys -draft k<a-x>s^\h+<ret>"xy ] catch %[ reg x '' ] try %[ # Validate previous line and that it is not closed yet. - execute-keys -draft k<a-x> <a-k>^<c-r>x.*\{\h*\(?\h*$<ret> J}iJ<a-x> <a-K>^<c-r>x(\)?\h*\})$<ret> + execute-keys -draft k<a-x> <a-k>^<c-r>x.*\{\h*\(?\h*$<ret> j}iJ<a-x> <a-K>^<c-r>x\)?\h*\}<ret> # Insert closing '}'. execute-keys -draft o<c-r>x}<esc> # Delete trailing '}' on the line below the '{'. @@ -148,7 +148,7 @@ define-command -hidden go-insert-on-new-line %[ try %[ execute-keys -draft k<a-x>s^\h+<ret>"xy ] catch %[ reg x '' ] try %[ # Validate previous line and that it is not closed yet. - execute-keys -draft k<a-x> <a-k>^<c-r>x.*\(\h*$<ret> J}iJ<a-x> <a-K>^<c-r>x(\)\h*\}?)$<ret> + execute-keys -draft k<a-x> <a-k>^<c-r>x.*\(\h*$<ret> J}iJ<a-x> <a-K>^<c-r>x\)<ret> # Insert closing ')'. execute-keys -draft o<c-r>x)<esc> # Delete trailing ')' on the line below the '('. diff --git a/test/indent/go/deindent-generic-closing-brace/in b/test/indent/go/deindent-generic-closing-brace/in index ef741602..b360ff42 100644 --- a/test/indent/go/deindent-generic-closing-brace/in +++ b/test/indent/go/deindent-generic-closing-brace/in @@ -41,3 +41,9 @@ 12 {( bar()%( ))} + +13 +a := []int{ + someFunction(%( ) + ), +} diff --git a/test/indent/go/deindent-generic-closing-brace/out b/test/indent/go/deindent-generic-closing-brace/out index e3aaa065..26d936fe 100644 --- a/test/indent/go/deindent-generic-closing-brace/out +++ b/test/indent/go/deindent-generic-closing-brace/out @@ -56,3 +56,10 @@ {( bar() )} + +13 +a := []int{ + someFunction( + + ), +} |
