-
Notifications
You must be signed in to change notification settings - Fork 0
/
Default.sublime-keymap
110 lines (106 loc) · 5.27 KB
/
Default.sublime-keymap
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[
// Suppress default auto-pairing bindings to avoid unwanted interference
{ "keys": ["\""], "command": "insert", "args": {"characters": "\""}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit - string.quoted.double" },
{ "key": "selection_empty", "match_all": true }
]
},
// Auto-pair double quotes
// - not after escape \| -> \"|
// - not after quote "| -> ""|
// - after string modifiers: f| -> f"|"
// - in front of dots: |.join() -> "|".join()
// - in front of commas: |, -> "|",
// - in front of colons: |: -> "|":
// - in front of semicolons: |; -> "|";
{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\"$0\""}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit - string.quoted.double" },
{ "key": "selection_empty", "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "(?i:^|[^\"\\w\\\\]|\\b[bfru]+)$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|\\.|,|:|;|$)", "match_all": true }
]
},
// Suppress default auto-pairing bindings to avoid unwanted interference
{ "keys": ["'"], "command": "insert", "args": {"characters": "'"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit - string.quoted.single" },
{ "key": "selection_empty", "match_all": true }
]
},
// Auto-pair single quotes
// - not after escape \| -> \"|
// - not after quote '| -> ''|
// - after string modifiers: f| -> f"|"
// - in front of dots: |.join() -> "|".join()
// - in front of commas: |, -> "|",
// - in front of colons: |: -> "|":
// - in front of semicolons: |; -> "|";
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit - string.quoted.single" },
{ "key": "selection_empty", "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "(?i:^|[^'\\w\\\\]|\\b[bfru]+)$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|\\.|,|:|;|$)", "match_all": true }
]
},
// Suppress default auto-pairing bindings to avoid unwanted interference
{ "keys": ["("], "command": "insert", "args": {"characters": "("}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true }
]
},
// Auto-pair parens: | -> (|)
{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true },
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "\\\\$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|}|,|;|'|\"|$)", "match_all": true }
]
},
// Suppress default auto-pairing bindings to avoid unwanted interference
{ "keys": ["["], "command": "insert", "args": {"characters": "["}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true }
]
},
// Auto-pair brackets: | -> [|]
{ "keys": ["["], "command": "insert_snippet", "args": {"contents": "[$0]"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true },
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "\\\\$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|}|,|;|'|\"|$)", "match_all": true }
]
},
// Suppress default auto-pairing bindings to avoid unwanted interference
{ "keys": ["{"], "command": "insert", "args": {"characters": "{"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true }
]
},
// Auto-pair braces: | -> {|},
{ "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{$0}"}, "context":
[
{ "key": "setting.auto_match_enabled" },
{ "key": "selector", "operand": "source.toit" },
{ "key": "selection_empty", "match_all": true },
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "\\\\$", "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|}|,|;|'|\"|$)", "match_all": true }
]
}
]