import { workspace } from "vscode"; export class Config { public static ImportFromSettings(): Config { const values: Config = new Config(); const cfg = workspace.getConfiguration("doxdocgen.generic"); values.triggerSequence = cfg.get("triggerSequence", values.triggerSequence); values.firstLine = cfg.get("firstLine", values.firstLine); values.commentPrefix = cfg.get("commentPrefix", values.commentPrefix); values.lastLine = cfg.get("lastLine", values.lastLine); values.newLineAfterBrief = cfg.get("newLineAfterBrief", values.newLineAfterBrief); values.newLineAfterParams = cfg.get("newLineAfterParams", values.newLineAfterParams); values.newLineAfterTParams = cfg.get("newLineAfterTParams", values.newLineAfterTParams); values.includeTypeAtReturn = cfg.get("includeTypeAtReturn", values.includeTypeAtReturn); values.boolReturnsTrueFalse = cfg.get("boolReturnsTrueFalse", values.boolReturnsTrueFalse); values.briefTemplate = cfg.get("briefTemplate", values.briefTemplate); values.paramTemplate = cfg.get("paramTemplate", values.paramTemplate); values.tparamTemplate = cfg.get("tparamTemplate", values.tparamTemplate); values.returnTemplate = cfg.get("returnTemplate", values.returnTemplate); values.linesToGet = cfg.get("linesToGet", values.linesToGet); values.authorTag = cfg.get("authorTag", values.authorTag); values.fileTemplate = cfg.get("fileTemplate", values.fileTemplate); values.dateTemplate = cfg.get("dateTemplate", values.dateTemplate); values.dateFormat = cfg.get("dateFormat", values.dateFormat); values.fileOrder = cfg.get("fileOrder", values.fileOrder); values.ctorText = cfg.get("ctorText", values.ctorText); values.dtorText = cfg.get("dtorText", values.dtorText); values.generateSmartText = cfg.get("generateSmartText", values.generateSmartText); return values; } public readonly paramTemplateReplace: string = "{param}"; public readonly typeTemplateReplace: string = "{type}"; public readonly nameTemplateReplace: string = "{name}"; public readonly dateTemplateReplace: string = "{date}"; public triggerSequence: string = "/**"; public firstLine: string = "/**"; public commentPrefix: string = " * "; public lastLine: string = " */"; public newLineAfterBrief: boolean = true; public newLineAfterParams: boolean = false; public newLineAfterTParams: boolean = false; public includeTypeAtReturn: boolean = true; public boolReturnsTrueFalse: boolean = true; public briefTemplate: string = "@brief "; public paramTemplate: string = "@param {param} "; public tparamTemplate: string = "@tparam {param} "; public returnTemplate: string = "@return {type} "; public linesToGet: number = 20; public authorTag: string = "@author your name"; public fileTemplate: string = "@file {name}"; public dateTemplate: string = "@date {date}"; public dateFormat: string = "YYYY-MM-DD"; public fileOrder: string[] = ["brief", "file", "author", "date"]; public ctorText: string = "Construct a new {name} object"; public dtorText: string = "Destroy the {name} object"; public generateSmartText: boolean = true; }