{
  "name": "ra3-mod-xml",
  "displayName": "%ra3modxml.displayName%",
  "description": "%ra3modxml.description%",
  "version": "0.1.23",
  "publisher": "lanyi",
  "license": "SEE LICENSE IN LICENSE",
  "icon": "images/icon.png",
  "repository": {
    "type": "git",
    "url": "https://git.ra3battle.cn/RA3CoronaDevelopers/Ra3ModXmlExt.git"
  },
  "homepage": "https://git.ra3battle.cn/RA3CoronaDevelopers/Ra3ModXmlExt",
  "l10n": "./l10n",
  "engines": {
    "vscode": "^1.85.0"
  },
  "categories": [
    "Programming Languages",
    "Linters"
  ],
  "keywords": [
    "red alert 3",
    "ra3",
    "mod",
    "sage",
    "xml",
    "binaryassetbuilder"
  ],
  "main": "./dist/extension.js",
  "activationEvents": [
    "onLanguage:xml",
    "workspaceContains:Mod.xml",
    "workspaceContains:additionalmaps/mapmetadata_*.xml",
    "workspaceContains:**/Data/Mod.xml",
    "workspaceContains:**/Data/additionalmaps/mapmetadata_*.xml",
    "workspaceContains:**/mod.babproj",
    "workspaceContains:**/*.babproj",
    "onCommand:ra3modxml.configureSdkPath"
  ],
  "contributes": {
    "grammars": [
      {
        "scopeName": "source.ra3modxml",
        "path": "./syntaxes/ra3modxml.tmLanguage.json",
        "injectTo": [
          "source.xml"
        ]
      }
    ],
    "configuration": {
      "title": "%ra3modxml.configuration.title%",
      "properties": {
        "ra3modxml.sdkPath": {
          "type": "string",
          "default": "",
          "description": "%ra3modxml.sdkPath.description%"
        },
        "ra3modxml.indexSageXml": {
          "type": "boolean",
          "default": true,
          "description": "%ra3modxml.indexSageXml.description%"
        },
        "ra3modxml.reportUnresolvedReferences": {
          "type": "string",
          "enum": [
            "warning",
            "information",
            "none"
          ],
          "default": "warning",
          "description": "%ra3modxml.reportUnresolvedReferences.description%"
        },
        "ra3modxml.diagnoseUnknownElements": {
          "type": "boolean",
          "default": true,
          "description": "%ra3modxml.diagnoseUnknownElements.description%"
        },
        "ra3modxml.definitionMode": {
          "type": "string",
          "enum": [
            "all",
            "project-only"
          ],
          "default": "all",
          "description": "%ra3modxml.definitionMode.description%"
        },
        "ra3modxml.additionalDataSearchPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": [],
          "description": "%ra3modxml.additionalDataSearchPaths.description%"
        }
      }
    },
    "commands": [
      {
        "command": "ra3modxml.reindex",
        "title": "%ra3modxml.command.reindex.title%"
      },
      {
        "command": "ra3modxml.openIndexReport",
        "title": "%ra3modxml.command.openIndexReport.title%"
      },
      {
        "command": "ra3modxml.clearCache",
        "title": "%ra3modxml.command.clearCache.title%"
      },
      {
        "command": "ra3modxml.configureSdkPath",
        "title": "%ra3modxml.command.configureSdkPath.title%"
      },
      {
        "command": "ra3modxml.showCacheReport",
        "title": "%ra3modxml.command.showCacheReport.title%"
      },
      {
        "command": "ra3modxml.findUnreferencedAssets",
        "title": "%ra3modxml.command.findUnreferencedAssets.title%"
      },
      {
        "command": "ra3modxml.findUnreferencedAssetsOfType",
        "title": "%ra3modxml.command.findUnreferencedAssetsOfType.title%"
      }
    ]
  },
  "menus": {
    "editor/context": [
      {
        "command": "ra3modxml.findUnreferencedAssetsOfType",
        "when": "editorLangId == xml && ra3modxml.active",
        "group": "navigation@50"
      }
    ]
  },
  "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 --no-rewrite-relative-links",
    "publish": "npm run build && vsce publish --no-rewrite-relative-links"
  },
  "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"
  }
}
