import * as vscode from "vscode"; import { join } from "node:path"; export interface ExtensionSettings { sdkPath: string; indexSageXml: boolean; reportUnresolvedReferences: "warning" | "information" | "none"; diagnoseUnknownElements: boolean; definitionMode: "all" | "project-only"; additionalDataSearchPaths: string[]; builtmodsDirs: string[]; } export function readSettings(): ExtensionSettings { const cfg = vscode.workspace.getConfiguration("ra3modxml"); const sdkPath = cfg.get("sdkPath", "C:\\Apps\\RA3-MODSDK-X"); return { sdkPath, indexSageXml: cfg.get("indexSageXml", true), reportUnresolvedReferences: cfg.get( "reportUnresolvedReferences", "warning", ) as ExtensionSettings["reportUnresolvedReferences"], diagnoseUnknownElements: cfg.get("diagnoseUnknownElements", true), definitionMode: cfg.get( "definitionMode", "all", ) as ExtensionSettings["definitionMode"], additionalDataSearchPaths: cfg.get("additionalDataSearchPaths", []), builtmodsDirs: [join(sdkPath, "builtmods"), join(sdkPath, "builtmods-quantum")], }; }