提交 827a1018 编写于 作者: J Johannes Rieken

fix #58494

上级 5ee3996b
......@@ -796,9 +796,10 @@ export class SnippetParser {
}
let value: string;
if (value = this._accept(TokenType.Backslash, true)) {
// \, or \|
// \, \|, or \\
value = this._accept(TokenType.Comma, true)
|| this._accept(TokenType.Pipe, true)
|| this._accept(TokenType.Backslash, true)
|| value;
} else {
value = this._accept(undefined, true);
......
......@@ -353,6 +353,12 @@ suite('SnippetParser', () => {
assertText('${1||}', '${1||}');
});
test('Backslash character escape in choice tabstop doesn\'t work #58494', function () {
const { placeholders } = new SnippetParser().parse('${1|\\,,},$,\\|,\\\\|}');
assert.equal(placeholders.length, 1);
assert.ok(placeholders[0].choice instanceof Choice);
});
test('Parser, only textmate', () => {
const p = new SnippetParser();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册