summaryrefslogtreecommitdiffstats
path: root/src/Config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/Config.ts')
-rw-r--r--src/Config.ts124
1 files changed, 83 insertions, 41 deletions
diff --git a/src/Config.ts b/src/Config.ts
index e3740b0..ed88386 100644
--- a/src/Config.ts
+++ b/src/Config.ts
@@ -1,62 +1,104 @@
import { workspace } from "vscode";
+// tslint:disable:max-classes-per-file
+// tslint:disable:max-line-length
-export class Config {
- public static ImportFromSettings(): Config {
- const values: Config = new Config();
-
- const cfg = workspace.getConfiguration("doxdocgen.generic");
-
- values.triggerSequence = cfg.get<string>("triggerSequence", values.triggerSequence);
- values.firstLine = cfg.get<string>("firstLine", values.firstLine);
- values.commentPrefix = cfg.get<string>("commentPrefix", values.commentPrefix);
- values.lastLine = cfg.get<string>("lastLine", values.lastLine);
- values.newLineAfterBrief = cfg.get<boolean>("newLineAfterBrief", values.newLineAfterBrief);
- values.newLineAfterParams = cfg.get<boolean>("newLineAfterParams", values.newLineAfterParams);
- values.newLineAfterTParams = cfg.get<boolean>("newLineAfterTParams", values.newLineAfterTParams);
- values.includeTypeAtReturn = cfg.get<boolean>("includeTypeAtReturn", values.includeTypeAtReturn);
- values.boolReturnsTrueFalse = cfg.get<boolean>("boolReturnsTrueFalse", values.boolReturnsTrueFalse);
- values.briefTemplate = cfg.get<string>("briefTemplate", values.briefTemplate);
- values.paramTemplate = cfg.get<string>("paramTemplate", values.paramTemplate);
- values.tparamTemplate = cfg.get<string>("tparamTemplate", values.tparamTemplate);
- values.returnTemplate = cfg.get<string>("returnTemplate", values.returnTemplate);
- values.linesToGet = cfg.get<number>("linesToGet", values.linesToGet);
- values.authorTag = cfg.get<string>("authorTag", values.authorTag);
- values.fileTemplate = cfg.get<string>("fileTemplate", values.fileTemplate);
- values.dateTemplate = cfg.get<string>("dateTemplate", values.dateTemplate);
- values.dateFormat = cfg.get<string>("dateFormat", values.dateFormat);
- values.fileOrder = cfg.get<string[]>("fileOrder", values.fileOrder);
- values.ctorText = cfg.get<string>("ctorText", values.ctorText);
- values.dtorText = cfg.get<string>("dtorText", values.dtorText);
- values.generateSmartText = cfg.get<boolean>("generateSmartText", values.generateSmartText);
-
- return values;
+class C {
+ public static getConfiguration() {
+ return workspace.getConfiguration("doxdocgen.c");
}
- 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 = " */";
+}
+
+class Cpp {
+ public static getConfiguration() {
+ return workspace.getConfiguration("doxdocgen.cpp");
+ }
+
+ public newLineAfterTParams: boolean = false;
+ public tparamTemplate: string = "@tparam {param} ";
+ public ctorText: string = "Construct a new {name} object";
+ public dtorText: string = "Destroy the {name} object";
+}
+
+class File {
+ public static getConfiguration() {
+ return workspace.getConfiguration("doxdocgen.file");
+ }
+
+ public fileTemplate: string = "@file {name}";
+ public fileOrder: string[] = ["brief", "file", "author", "date"];
+}
+
+class Generic {
+ public static getConfiguration() {
+ return workspace.getConfiguration("doxdocgen.generic");
+ }
+
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;
}
+
+export class Config {
+ public static ImportFromSettings(): Config {
+ const values: Config = new Config();
+
+ values.C.triggerSequence = C.getConfiguration().get<string>("triggerSequence", values.C.triggerSequence);
+ values.C.firstLine = C.getConfiguration().get<string>("firstLine", values.C.firstLine);
+ values.C.commentPrefix = C.getConfiguration().get<string>("commentPrefix", values.C.commentPrefix);
+ values.C.lastLine = C.getConfiguration().get<string>("lastLine", values.C.lastLine);
+
+ values.Cpp.newLineAfterTParams = Cpp.getConfiguration().get<boolean>("newLineAfterTParams", values.Cpp.newLineAfterTParams);
+ values.Cpp.tparamTemplate = Cpp.getConfiguration().get<string>("tparamTemplate", values.Cpp.tparamTemplate);
+ values.Cpp.ctorText = Cpp.getConfiguration().get<string>("ctorText", values.Cpp.ctorText);
+ values.Cpp.dtorText = Cpp.getConfiguration().get<string>("dtorText", values.Cpp.dtorText);
+
+ values.File.fileTemplate = File.getConfiguration().get<string>("fileTemplate", values.File.fileTemplate);
+ values.File.fileOrder = File.getConfiguration().get<string[]>("fileOrder", values.File.fileOrder);
+
+ values.Generic.newLineAfterBrief = Generic.getConfiguration().get<boolean>("newLineAfterBrief", values.Generic.newLineAfterBrief);
+ values.Generic.newLineAfterParams = Generic.getConfiguration().get<boolean>("newLineAfterParams", values.Generic.newLineAfterParams);
+ values.Generic.includeTypeAtReturn = Generic.getConfiguration().get<boolean>("includeTypeAtReturn", values.Generic.includeTypeAtReturn);
+ values.Generic.boolReturnsTrueFalse = Generic.getConfiguration().get<boolean>("boolReturnsTrueFalse", values.Generic.boolReturnsTrueFalse);
+ values.Generic.briefTemplate = Generic.getConfiguration().get<string>("briefTemplate", values.Generic.briefTemplate);
+ values.Generic.paramTemplate = Generic.getConfiguration().get<string>("paramTemplate", values.Generic.paramTemplate);
+ values.Generic.returnTemplate = Generic.getConfiguration().get<string>("returnTemplate", values.Generic.returnTemplate);
+ values.Generic.linesToGet = Generic.getConfiguration().get<number>("linesToGet", values.Generic.linesToGet);
+ values.Generic.authorTag = Generic.getConfiguration().get<string>("authorTag", values.Generic.authorTag);
+ values.Generic.dateTemplate = Generic.getConfiguration().get<string>("dateTemplate", values.Generic.dateTemplate);
+ values.Generic.dateFormat = Generic.getConfiguration().get<string>("dateFormat", values.Generic.dateFormat);
+ values.Generic.generateSmartText = Generic.getConfiguration().get<boolean>("generateSmartText", values.Generic.generateSmartText);
+
+ return values;
+ }
+
+ public readonly paramTemplateReplace: string = "{param}";
+ public readonly typeTemplateReplace: string = "{type}";
+ public readonly nameTemplateReplace: string = "{name}";
+ public readonly dateTemplateReplace: string = "{date}";
+
+ public C: C;
+ public Cpp: Cpp;
+ public File: File;
+ public Generic: Generic;
+
+ constructor() {
+ this.C = new C();
+ this.Cpp = new Cpp();
+ this.File = new File();
+ this.Generic = new Generic();
+ }
+}