Skip to content

Commit ca92f58

Browse files
fix(ruby): improve auto indent (#246)
This PR improves auto indent behavior. For instance, when typing `def my_func + ENTER` We get : ```ruby def my_func | <--- cursor position ```
1 parent 9eb2632 commit ca92f58

2 files changed

Lines changed: 20 additions & 8 deletions

File tree

languages/ruby/config.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ brackets = [
5959
]
6060
collapsed_placeholder = "# ..."
6161
tab_size = 2
62+
increase_indent_pattern = '(^\s*(module|class|def|if|elsif|else|unless|case|when|while|until|for|begin|rescue|ensure)\b|\bdo\s*(\|[^|]*\|)?\s*$)'
63+
decrease_indent_pattern = '^\s*(end|elsif|else|when|rescue|ensure)\b'
6264
scope_opt_in_language_servers = ["tailwindcss-language-server"]
6365
word_characters = ["?", "!"]
6466
debuggers = ["rdbg"]

languages/ruby/indents.scm

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,37 @@
1-
(method
2-
"end" @end) @indent
3-
41
(class
52
"end" @end) @indent
63

74
(module
85
"end" @end) @indent
96

10-
(begin
7+
(method
118
"end" @end) @indent
129

1310
(singleton_method
1411
"end" @end) @indent
1512

13+
(if
14+
"end" @end) @indent
15+
16+
(unless
17+
"end" @end) @indent
18+
19+
(case
20+
"end" @end) @indent
21+
22+
(begin
23+
"end" @end) @indent
24+
1625
(do_block
1726
"end" @end) @indent
1827

19-
[
20-
(then)
21-
(call)
22-
] @indent
28+
(do
29+
"end" @end) @indent
2330

2431
[
32+
(else)
33+
(elsif)
34+
(when)
2535
(ensure)
2636
(rescue)
2737
] @outdent

0 commit comments

Comments
 (0)