diff options
| author | Jason Felice <jason.m.felice@gmail.com> | 2020-01-03 14:56:21 -0500 |
|---|---|---|
| committer | Jason Felice <jason.m.felice@gmail.com> | 2020-01-03 15:14:56 -0500 |
| commit | 0ed3bd662cc456cee4e67d6a755a6cdb2df6ed8a (patch) | |
| tree | cc625062e7039671ec408c19064da11d8fa0110a | |
| parent | f2159750d28153b68b244d2bdcc3905e0efa425d (diff) | |
{clojure,lisp}.kak: handle doubled brackets
| -rw-r--r-- | rc/filetype/clojure.kak | 2 | ||||
| -rw-r--r-- | rc/filetype/lisp.kak | 2 | ||||
| -rw-r--r-- | test/indent/clojure/doubled-brackets/cmd | 1 | ||||
| -rw-r--r-- | test/indent/clojure/doubled-brackets/in | 3 | ||||
| -rw-r--r-- | test/indent/clojure/doubled-brackets/out | 6 | ||||
| -rw-r--r-- | test/indent/clojure/doubled-brackets/rc | 3 | ||||
| -rw-r--r-- | test/indent/lisp/doubled-brackets/cmd | 1 | ||||
| -rw-r--r-- | test/indent/lisp/doubled-brackets/in | 4 | ||||
| -rw-r--r-- | test/indent/lisp/doubled-brackets/out | 8 | ||||
| -rw-r--r-- | test/indent/lisp/doubled-brackets/rc | 2 |
10 files changed, 30 insertions, 2 deletions
diff --git a/rc/filetype/clojure.kak b/rc/filetype/clojure.kak index 68b79eca..9e8d73b8 100644 --- a/rc/filetype/clojure.kak +++ b/rc/filetype/clojure.kak @@ -208,7 +208,7 @@ define-command -hidden clojure-indent-on-new-line %{ execute-keys -draft '"wze<a-L>s.{' %sh{printf $(( kak_opt_indentwidth - 1 ))} '}\K.*<ret><a-;>;"i<a-Z><gt>' } catch %{ # If not special and parameter appears on line 1, indent to parameter - execute-keys -draft '"wze<a-K>[\s()\[\]\{\}]<ret><a-l>s\h\K[^\s].*<ret><a-;>;"i<a-Z><gt>' + execute-keys -draft '"wz<a-K>[()[\]{}]<ret>e<a-K>[\s()\[\]\{\}]<ret><a-l>s\h\K[^\s].*<ret><a-;>;"i<a-Z><gt>' } } try %{ execute-keys -draft '[rl"i<a-Z><gt>' } diff --git a/rc/filetype/lisp.kak b/rc/filetype/lisp.kak index f2052b2f..9fc49ec0 100644 --- a/rc/filetype/lisp.kak +++ b/rc/filetype/lisp.kak @@ -69,7 +69,7 @@ define-command -hidden lisp-indent-on-new-line %{ execute-keys -draft '"wze<a-L>s.{' %sh{printf $(( kak_opt_indentwidth - 1 ))} '}\K.*<ret><a-;>;"i<a-Z><gt>' } catch %{ # If not "special" form and parameter appears on line 1, indent to parameter - execute-keys -draft '"wze<a-l>s\h\K[^\s].*<ret><a-;>;"i<a-Z><gt>' + execute-keys -draft '"wz<a-K>[()\[\]{}]<ret>e<a-l>s\h\K[^\s].*<ret><a-;>;"i<a-Z><gt>' } } try %{ execute-keys -draft '[rl"i<a-Z><gt>' } diff --git a/test/indent/clojure/doubled-brackets/cmd b/test/indent/clojure/doubled-brackets/cmd new file mode 100644 index 00000000..76003030 --- /dev/null +++ b/test/indent/clojure/doubled-brackets/cmd @@ -0,0 +1 @@ +c<ret><esc> diff --git a/test/indent/clojure/doubled-brackets/in b/test/indent/clojure/doubled-brackets/in new file mode 100644 index 00000000..c2601504 --- /dev/null +++ b/test/indent/clojure/doubled-brackets/in @@ -0,0 +1,3 @@ +((metafn 42)%( )(y 79)) +([weird 42]%( )(y 79)) +({map 42}%( )(y 79)) diff --git a/test/indent/clojure/doubled-brackets/out b/test/indent/clojure/doubled-brackets/out new file mode 100644 index 00000000..980d3a86 --- /dev/null +++ b/test/indent/clojure/doubled-brackets/out @@ -0,0 +1,6 @@ +((metafn 42) + (y 79)) +([weird 42] + (y 79)) +({map 42} + (y 79)) diff --git a/test/indent/clojure/doubled-brackets/rc b/test/indent/clojure/doubled-brackets/rc new file mode 100644 index 00000000..2b8f9960 --- /dev/null +++ b/test/indent/clojure/doubled-brackets/rc @@ -0,0 +1,3 @@ +source "%val{runtime}/rc/filetype/lisp.kak" +source "%val{runtime}/rc/filetype/clojure.kak" +set buffer filetype clojure diff --git a/test/indent/lisp/doubled-brackets/cmd b/test/indent/lisp/doubled-brackets/cmd new file mode 100644 index 00000000..76003030 --- /dev/null +++ b/test/indent/lisp/doubled-brackets/cmd @@ -0,0 +1 @@ +c<ret><esc> diff --git a/test/indent/lisp/doubled-brackets/in b/test/indent/lisp/doubled-brackets/in new file mode 100644 index 00000000..80686386 --- /dev/null +++ b/test/indent/lisp/doubled-brackets/in @@ -0,0 +1,4 @@ +(let ((x 42)%( )(y 79))) +(let [(x 42)%( )(y 79)]) +(let ([x 42]%( )[y 79])) +(let ({x 42}%( ){y 79})) diff --git a/test/indent/lisp/doubled-brackets/out b/test/indent/lisp/doubled-brackets/out new file mode 100644 index 00000000..a2e115c9 --- /dev/null +++ b/test/indent/lisp/doubled-brackets/out @@ -0,0 +1,8 @@ +(let ((x 42) + (y 79))) +(let [(x 42) + (y 79)]) +(let ([x 42] + [y 79])) +(let ({x 42} + {y 79})) diff --git a/test/indent/lisp/doubled-brackets/rc b/test/indent/lisp/doubled-brackets/rc new file mode 100644 index 00000000..4338909f --- /dev/null +++ b/test/indent/lisp/doubled-brackets/rc @@ -0,0 +1,2 @@ +source "%val{runtime}/rc/filetype/lisp.kak" +set buffer filetype lisp |
