From 7810d7a9fe033d74b95797850f5d41991d45b66f Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 29 Nov 2016 15:51:54 +0100 Subject: [PATCH] backslash escapes backslash, #16212 --- src/vs/editor/contrib/snippet/common/snippetParser.ts | 2 +- .../editor/contrib/snippet/test/common/snippetParser.test.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/vs/editor/contrib/snippet/common/snippetParser.ts b/src/vs/editor/contrib/snippet/common/snippetParser.ts index 9bc94c69915..a29f1a02f46 100644 --- a/src/vs/editor/contrib/snippet/common/snippetParser.ts +++ b/src/vs/editor/contrib/snippet/common/snippetParser.ts @@ -373,7 +373,7 @@ export class SnippetParser { if (// Internal style (this._enableInternal && (this._accept(TokenType.CurlyOpen) || this._accept(TokenType.CurlyClose) || this._accept(TokenType.Backslash))) // TextMate style - || (this._enableTextMate && (this._accept(TokenType.Dollar) || this._accept(TokenType.CurlyClose))) + || (this._enableTextMate && (this._accept(TokenType.Dollar) || this._accept(TokenType.CurlyClose) || this._accept(TokenType.Backslash))) ) { // just consume them } diff --git a/src/vs/editor/contrib/snippet/test/common/snippetParser.test.ts b/src/vs/editor/contrib/snippet/test/common/snippetParser.test.ts index 33c90427276..d6d1907651d 100644 --- a/src/vs/editor/contrib/snippet/test/common/snippetParser.test.ts +++ b/src/vs/editor/contrib/snippet/test/common/snippetParser.test.ts @@ -281,4 +281,9 @@ suite('SnippetParser', () => { assert.equal(((p2).defaultValue[0]), 'err'); }); + + test('backspace esapce in TM only, #16212', () => { + const actual = new SnippetParser(true, false).escape('Foo \\\\${abc}bar'); + assert.equal(actual, 'Foo \\bar'); + }); }); -- GitLab