From 269c8e64adf6decc97ff4528bcad3ab36409e957 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 25 Jul 2017 15:03:50 +0200 Subject: [PATCH] fix an issue with variable names and snippet rewriting --- .../editor/contrib/snippet/test/browser/snippetParser.test.ts | 2 ++ src/vs/workbench/parts/emmet/electron-browser/editorAccessor.ts | 2 +- src/vs/workbench/parts/snippets/electron-browser/TMSnippets.ts | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/contrib/snippet/test/browser/snippetParser.test.ts b/src/vs/editor/contrib/snippet/test/browser/snippetParser.test.ts index a1ffbe2fec4..f0e4cd0c275 100644 --- a/src/vs/editor/contrib/snippet/test/browser/snippetParser.test.ts +++ b/src/vs/editor/contrib/snippet/test/browser/snippetParser.test.ts @@ -197,6 +197,8 @@ suite('SnippetParser', () => { assertTextAndMarker('$123', '', Placeholder); assertTextAndMarker('$farboo', '', Variable); assertTextAndMarker('$far12boo', '', Variable); + assertTextAndMarker('000_${far}_000', '000__000', Text, Variable, Text); + assertTextAndMarker('FFF_${TM_SELECTED_TEXT}_FFF$0', 'FFF__FFF', Text, Variable, Text, Placeholder); }); test('Parser, variables/placeholder with defaults', () => { diff --git a/src/vs/workbench/parts/emmet/electron-browser/editorAccessor.ts b/src/vs/workbench/parts/emmet/electron-browser/editorAccessor.ts index f85914cdebd..073b49440ec 100644 --- a/src/vs/workbench/parts/emmet/electron-browser/editorAccessor.ts +++ b/src/vs/workbench/parts/emmet/electron-browser/editorAccessor.ts @@ -155,7 +155,7 @@ export class EditorAccessor implements emmet.Editor { if (marker.children.length > 0) { return `\${${marker.name}:${marker.children.map(toSnippetString).join('')}}`; } else { - return `\$${marker.name}`; + return `\${${marker.name}}`; } } else { throw new Error('unexpected marker: ' + marker); diff --git a/src/vs/workbench/parts/snippets/electron-browser/TMSnippets.ts b/src/vs/workbench/parts/snippets/electron-browser/TMSnippets.ts index c1e07d5ccd2..3495e4f1770 100644 --- a/src/vs/workbench/parts/snippets/electron-browser/TMSnippets.ts +++ b/src/vs/workbench/parts/snippets/electron-browser/TMSnippets.ts @@ -193,7 +193,7 @@ function _rewriteBogousVariables(snippet: ISnippet): boolean { } else if (marker.children.length > 0) { return `\${${marker.name}:${marker.children.map(fixBogousVariables).join('')}}`; } else { - return `\$${marker.name}`; + return `\${${marker.name}}`; } } else { throw new Error('unexpected marker: ' + marker);