Fix accidental dedent for in and when dedent in Ruby comments

This commit is contained in:
Vinicius Stock 2024-02-23 17:07:53 -05:00
parent 8a64f0f1b8
commit 228a35f333
No known key found for this signature in database
GPG key ID: 196E0FB0D265AFFE
2 changed files with 9 additions and 2 deletions

View file

@ -26,6 +26,6 @@
], ],
"indentationRules": { "indentationRules": {
"increaseIndentPattern": "^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|in|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|(\"|'|\/).*\\4)*(#.*)?$", "increaseIndentPattern": "^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|in|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|(\"|'|\/).*\\4)*(#.*)?$",
"decreaseIndentPattern": "^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif)\\b)|((in|when)\\s)" "decreaseIndentPattern": "^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif)\\b|(in|when)\\s)"
} }
} }

View file

@ -373,16 +373,23 @@ suite('Editor Contrib - Auto Dedent On Type', () => {
['(', ')'] ['(', ')']
], ],
indentationRules: { indentationRules: {
decreaseIndentPattern: /\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif)\b)|((in|when)\s)/, decreaseIndentPattern: /^\s*([}\]]([,)]?\s*(#|$)|\.[a-zA-Z_]\w*\b)|(end|rescue|ensure|else|elsif)\b|(in|when)\s)/,
increaseIndentPattern: /^\s*((begin|class|(private|protected)\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|in|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^#\{;]|(\"|'|\/).*\4)*(#.*)?$/, increaseIndentPattern: /^\s*((begin|class|(private|protected)\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|in|while|case)|([^#]*\sdo\b)|([^#]*=\s*(case|if|unless)))\b([^#\{;]|(\"|'|\/).*\4)*(#.*)?$/,
}, },
}); });
viewModel.model.setValue(""); viewModel.model.setValue("");
viewModel.type("def foo\n i"); viewModel.type("def foo\n i");
viewModel.type("n", 'keyboard'); viewModel.type("n", 'keyboard');
assert.strictEqual(model.getValue(), "def foo\n in"); assert.strictEqual(model.getValue(), "def foo\n in");
viewModel.type(" ", 'keyboard'); viewModel.type(" ", 'keyboard');
assert.strictEqual(model.getValue(), "def foo\nin "); assert.strictEqual(model.getValue(), "def foo\nin ");
viewModel.model.setValue("");
viewModel.type(" # in");
assert.strictEqual(model.getValue(), " # in");
viewModel.type(" ", 'keyboard');
assert.strictEqual(model.getValue(), " # in ");
improvedLanguageModel.dispose(); improvedLanguageModel.dispose();
}); });
}); });