summaryrefslogtreecommitdiffstats
path: root/src/Config.ts
blob: 6297a661a5b284f541ebaee36d1af7da5a8f1637 (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
import { workspace } from "vscode";

export class Config {
    public static ImportFromSettings(): Config {
        const values: Config =  new Config();

        const cfg = workspace.getConfiguration("doxdocgen.generic");

        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.boolPointerReturnsNull = cfg.get<boolean>("boolPointerReturnsNull", values.boolPointerReturnsNull);
        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);

        return values;
    }

    public readonly paramTemplateReplace: string = "{param}";
    public readonly typeTemplateReplace: string = "{type}";

    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 boolPointerReturnsNull: boolean = true;
    public briefTemplate: string = "@brief ";
    public paramTemplate: string = "@param {param} ";
    public tparamTemplate: string = "@tparam {param} ";
    public returnTemplate: string = "@return {type} ";
}