-
Notifications
You must be signed in to change notification settings - Fork 591
/
Copy pathIndentation Rules.tmPreferences
47 lines (47 loc) · 1.17 KB
/
Indentation Rules.tmPreferences
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>scope</key>
<string>source.ruby</string>
<key>settings</key>
<dict>
<key>decreaseIndentPattern</key>
<string>^\s*([}\]]|(end|rescue|ensure|else|elsif|when)\b)</string>
<key>increaseIndentPattern</key>
<string><![CDATA[(?x)^
(\s*
(
module|class|(?:(?:private|protected|public)\s+)?def
|unless|if|else|elsif
|case|when
|begin|rescue|ensure
|for|while|until
|
(?=.*? \b(do|begin|case|if|unless)\b )
# the look-ahead above is to quickly discard non-candidates
(
"(\\.|[^\\"])*+" # eat a double quoted string
| '(\\.|[^\\'])*+' # eat a single quoted string
| [^#"'] # eat all but comments and strings
)*
(
\s (do|begin|case)
| [-+=&|*/~%^<>~](?<!\$.) \s*+ (if|unless)
)
)\b
(?! [^;]*+ ; .*? \bend\b )
|
(
"(\\.|[^\\"])*+" # eat a double quoted string
| '(\\.|[^\\'])*+' # eat a single quoted string
| [^#"'] # eat all but comments and strings
)*
(
\{ (?! [^}]*+ \} )
| \[ (?! [^\]]*+ \] )
)
).*$
]]></string>
</dict>
</dict>
</plist>