summaryrefslogtreecommitdiffstats
path: root/src/Config.ts
blob: e8d7379e54de9a70b91a8e4bb9860284bda0c23b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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<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);

        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"];
}