import * as vscode from 'vscode'; function codeGeneratorQuickPickLogic(): undefined { const textEditor = vscode.window.activeTextEditor; if (!textEditor) { return undefined; } let thenable = vscode.window.showQuickPick( [ { label: "Class name", detail: "Segments Minus One (Object || Array)", output: "%ClassName%" }, { label: "Class name (Camel-Cased)", detail: "Segments Minus One (Object || Array)", output: "%ClassNameCamelCased%" }, { label: "Class name (Camel-Cased and Plural)", detail: "Segments Minus One (Object || Array)", output: "%ClassNameCamelCasedPlural%" }, { label: "Class name (Plural)", detail: "Segments Minus One (Object || Array)", output: "%ClassNamePlural%" }, { label: "Key Without Brackets Segment at Level", detail: "", output: "%KeyWithoutBracketsSegmentAtLevel%" }, { label: "Name", detail: "Segments Last only name (no path)", output: "%Name%" }, { label: "Namespace", detail: "Namespace", output: "%namespace%" }, { label: "Name (Camel-Cased)", detail: "Segments Last only name (no path)", output: "%NameCamelCased%" }, { label: "Name (Camel-Cased and Plural)", detail: "Segments Last only name (no path)", output: "%NameCamelCasedPlural%" }, { label: "Name Detail", detail: "", output: "%NameDetail%" }, { label: "Name Detail (Camel-Cased)", detail: "", output: "%NameDetailCamelCased%" }, { label: "Name Detail (Humanized)", detail: "", output: "%NameDetailHumanized%" }, { label: "Name Detail (Humanized) *Collection", detail: "", output: "%NameDetailHumanizedCollection%" }, { label: "Name (Humanized)", detail: "Segments Last only name (no path)", output: "%NameHumanized%" }, { label: "Name (Null Segments)", detail: "", output: "%NameNullSegments%" }, { label: "Name (Null Segments) *Collection", detail: "", output: "%NameNullSegmentsCollection%" }, { label: "Name (Plural)", detail: "Segments Last only name (no path)", output: "%NamePlural%" }, { label: "Name Segments", detail: "", output: "%NameSegments%" }, { label: "Name Segments *Collection", detail: "", output: "%NameSegmentsCollection%" }, { label: "Path without Brackets (Singularized)", detail: "", output: "%PathWithoutBracketsSingularized%" }, { label: "Suggested Type", detail: "Type based on values in *.json file", output: "%SuggestedType%" }, { label: "Suggested Type Id", detail: "", output: "%SuggestedTypeId%" }, { label: "Suggested Type Id (Camel-Cased)", detail: "", output: "%SuggestedTypeIdCamelCased%" }, { label: "Type", detail: "Segments Minus One (!Object && !Array)", output: "%Type%" }, { label: "Type (Camel-Cased)", detail: "Segments Minus One (!Object && !Array)", output: "%TypeCamelCased%" } ] ).then(item => { if (!item) { return; } const selection = textEditor.selection; return textEditor.edit(editBuilder => { var range; if (selection.isEmpty) { editBuilder.insert(selection.start, item.output) } else { range = new vscode.Range(selection.start.line, selection.start.character, selection.end.line, selection.end.character); editBuilder.replace(range, item.output); } }); }); return undefined; } export const codeGeneratorQuickPick = () => codeGeneratorQuickPickLogic();