Files
2026-08-01 15:47:51 +02:00

116 lines
3.6 KiB
JSON

{
"name": "ra3-mod-xml",
"displayName": "RA3 Mod XML",
"description": "Red Alert 3 Mod XML tooling: syntax highlighting, completions, reference navigation and diagnostics for SAGE/BinaryAssetBuilder XML.",
"version": "0.1.0",
"publisher": "ra3-mod-xml",
"license": "MIT",
"engines": {
"vscode": "^1.85.0"
},
"categories": [
"Programming Languages",
"Linters"
],
"keywords": [
"red alert 3",
"ra3",
"mod",
"sage",
"xml",
"binaryassetbuilder"
],
"main": "./dist/extension.js",
"activationEvents": [
"workspaceContains:**/Data/Mod.xml",
"workspaceContains:**/mod.babproj",
"workspaceContains:**/*.babproj"
],
"contributes": {
"grammars": [
{
"scopeName": "source.ra3modxml",
"path": "./syntaxes/ra3modxml.tmLanguage.json",
"injectTo": [
"source.xml"
]
}
],
"configuration": {
"title": "RA3 Mod XML",
"properties": {
"ra3modxml.sdkPath": {
"type": "string",
"default": "C:\\Apps\\RA3-MODSDK-X",
"description": "Path to the RA3 Mod SDK root. Used to resolve DATA:/ART:/AUDIO: includes and to index vanilla SageXml sources."
},
"ra3modxml.indexSageXml": {
"type": "boolean",
"default": true,
"description": "Index vanilla game XML sources shipped with the SDK (SageXml) so completions/references can resolve vanilla asset ids."
},
"ra3modxml.reportUnresolvedReferences": {
"type": "string",
"enum": [
"warning",
"information",
"none"
],
"default": "warning",
"description": "Severity for attribute references (CommandSet=..., inheritFrom=...) that cannot be resolved in the index. The index covers mod XML sources, SDK SageXml sources and compiled manifests."
},
"ra3modxml.diagnoseUnknownElements": {
"type": "boolean",
"default": true,
"description": "Report element/attribute names that are not known from the bundled XSD model."
},
"ra3modxml.definitionMode": {
"type": "string",
"enum": [
"all",
"project-only"
],
"default": "all",
"description": "Go-to-definition candidates: 'all' lists the mod definition together with any vanilla (SDK/manifest) definitions (mod first); 'project-only' jumps directly to the mod definition and skips vanilla candidates when the id is defined in the project."
},
"ra3modxml.additionalDataSearchPaths": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Extra absolute directories appended to the DATA: search path (checked after the project folders)."
}
}
},
"commands": [
{
"command": "ra3modxml.reindex",
"title": "RA3 Mod XML: Re-index workspace"
},
{
"command": "ra3modxml.openIndexReport",
"title": "RA3 Mod XML: Show index report"
}
]
},
"scripts": {
"build": "node esbuild.mjs",
"watch": "node esbuild.mjs --watch",
"generate-model": "node tools/xsd-to-model.mjs",
"pretest": "tsc",
"test": "node --test \"test/*.test.mjs\"",
"package": "npm run build && vsce package"
},
"dependencies": {
"fast-xml-parser": "^4.5.0"
},
"devDependencies": {
"@vscode/vsce": "^2.30.0",
"@types/node": "^20.14.0",
"@types/vscode": "^1.85.0",
"esbuild": "^0.21.5",
"typescript": "^5.5.0"
}
}