116 lines
3.6 KiB
JSON
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"
|
|
}
|
|
}
|