From d20eb6852aa7ae2fb244e732fe19b4ed6937b6bc Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Thu, 30 Sep 2021 17:26:14 -0700 Subject: [PATCH] WIP: add snippet support --- src/compiler/types.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 3c46e680571..0888e880729 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -6737,6 +6737,29 @@ namespace ts { externalHelpers?: boolean; helpers?: EmitHelper[]; // Emit helpers for the node startsOnNewLine?: boolean; // If the node should begin on a new line + snippetElement?: SnippetElement; // Snippet element of the node + } + + export interface SnippetElement { + kind: SnippetKind; + } + + export interface TabStop extends SnippetElement { + kind: SnippetKind.TabStop; + order: number; + } + + export interface PlaceHolder extends SnippetElement { + kind: SnippetKind.Placeholder; + order: number; + } + + // Reference: https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax + export const enum SnippetKind { + TabStop, // `$1`, `$2` + Placeholder, // `${1:foo}` + Choice, // `${1|one,two,three|}` + Variable, // `$name`, `${name:default}` } export const enum EmitFlags {