vscode-basex/package.json

325 lines
9.2 KiB
JSON

{
"name": "vscode-basex",
"displayName": "BaseX tools",
"description": "BaseX tools: XQuery, XML, XPath Tools for Visual Studio Code",
"version": "0.1.0",
"preview": true,
"publisher": "quodatum",
"author": "Andy Bunce (https://github.com/Quodatum)",
"license": "MIT",
"galleryBanner": {
"color": "#FFFFFF",
"theme": "light"
},
"icon": "resources/basex.png",
"homepage": "https://github.com/Quodatum/vscode-basex",
"repository": {
"type": "git",
"url": "git+https://github.com/Quodatum/vscode-basex.git"
},
"bugs": {
"url": "https://github.com/Quodatum/vscode-basex/issues"
},
"engines": {
"vscode": "^1.73.0"
},
"categories": [
"Formatters",
"Programming Languages",
"Linters",
"Snippets",
"Other"
],
"activationEvents": [
"onCommand:basexTools.evaluateXPath",
"onCommand:basexTools.executeXQuery",
"onCommand:basexTools.formatAsXml",
"onCommand:basexTools.textToXml",
"onCommand:basexTools.xmlToText",
"onCommand:basexTools.minifyXml",
"onCommand:basexTools.xqLintReport",
"onLanguage:xml",
"onLanguage:xquery",
"onLanguage:xsl"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "basexTools.evaluateXPath",
"title": "BaseX Tools: Evaluate XPath"
},
{
"command": "basexTools.executeXQuery",
"title": "BaseX Tools: Execute XQuery"
},
{
"command": "basexTools.formatAsXml",
"title": "BaseX Tools: Format as XML"
},
{
"command": "basexTools.textToXml",
"title": "BaseX Tools: Convert text to XML (&lt;&gt; -> <>)"
},
{
"command": "basexTools.xmlToText",
"title": "BaseX Tools: Convert XML to text (<> -> &lt;&gt;)"
},
{
"command": "basexTools.getCurrentXPath",
"title": "BaseX Tools: Get Current XPath"
},
{
"command": "basexTools.minifyXml",
"title": "BaseX Tools: Minify XML"
},
{
"command": "basexTools.xqLintReport",
"title": "BaseX Tools: Analysis of current location in Xquery source"
}
],
"configuration": [
{
"id": "xmltree",
"title": "XML tree view ",
"properties": {
"basexTools.xmlTree.enableTreeView": {
"type": "boolean",
"default": false,
"description": "Enables the XML Document view in the explorer for XML documents.",
"scope": "window"
},
"basexTools.xmlTree.enableViewMetadata": {
"type": "boolean",
"default": true,
"description": "Enables attribute and child element counts in the XML Document view.",
"scope": "window"
},
"basexTools.xmlTree.enableViewCursorSync": {
"type": "boolean",
"default": false,
"description": "Enables auto-reveal of elements in the XML Document view when a start tag is clicked in the editor.",
"scope": "window"
}
}
},
{
"id": "xpath",
"title": "XPath ",
"properties": {
"basexTools.xpath.ignoreDefaultNamespace": {
"type": "boolean",
"default": true,
"description": "Ignore default xmlns attributes when evaluating XPath.",
"scope": "window"
},
"basexTools.xpath.persistXPathQuery": {
"type": "boolean",
"default": true,
"description": "Remember the last XPath query used.",
"scope": "window"
}
}
},
{
"id": "xquery",
"title": "XQuery ",
"properties": {
"basexTools.xquery.executionArguments": {
"type": "array",
"default": [
"-xquery",
"$(script)",
"-in",
"$(input)",
"-out",
"$(input).output.xml"
],
"description": "Arguments to be passed to the XQuery execution engine.",
"scope": "window"
},
"basexTools.xquery.executionEngine": {
"type": "string",
"default": "",
"description": "The full path to the executable to run when executing XQuery scripts.",
"scope": "window"
},
"basexTools.xquery.executionInputLimit": {
"type": "integer",
"default": 100,
"description": "The maximum number of input files to enumerate when executing XQuery scripts.",
"scope": "window"
},
"basexTools.xquery.executionInputSearchPattern": {
"type": "string",
"default": "**/*.xml",
"description": "The pattern used to search for input XML files when executing XQuery scripts.",
"scope": "window"
}
}
},
{
"title": "BaseX Tools ",
"type": "object",
"properties": {
"basexTools.enforcePrettySelfClosingTagOnFormat": {
"type": "boolean",
"default": false,
"description": "Enforces a space before the forward slash at the end of a self-closing XML tag.",
"scope": "resource"
},
"basexTools.removeCommentsOnMinify": {
"type": "boolean",
"default": false,
"description": "Remove XML comments during minification.",
"scope": "resource"
},
"basexTools.splitAttributesOnFormat": {
"type": "boolean",
"default": false,
"description": "Put each attribute on a new line when formatting XML. Overrides `basexTools.splitXmlnsOnFormat` if set to `true`.",
"scope": "resource"
},
"basexTools.splitXmlnsOnFormat": {
"type": "boolean",
"default": true,
"description": "Put each xmlns attribute on a new line when formatting XML.",
"scope": "resource"
},
"basexTools.xmlFormatterImplementation": {
"type": "string",
"enum": [
"classic",
"v2"
],
"default": "v2",
"description": "Supported XML Formatters: classic",
"scope": "window"
}
}
}
],
"grammars": [
{
"language": "xquery",
"path": "./languages/xquery/xquery.tmLanguage",
"scopeName": "source.xquery"
}
],
"snippets": [
{
"language": "xquery",
"path": "./snippets.jsonc"
}
],
"keybindings": [
{
"key": "ctrl+shift+alt+x",
"command": "basexTools.evaluateXPath"
},
{
"key": "ctrl+shift+alt+b",
"command": "basexTools.formatAsXml"
}
],
"languages": [
{
"id": "xml",
"extensions": [
".config",
".csproj",
".xml",
".xsd",
".xsl",
".plist",
".mobileconfig",
".sch"
]
},
{
"id": "xquery",
"aliases": [
"XQuery",
"xquery"
],
"extensions": [
".xq",
".xql",
".xqm",
".xqy",
".xquery"
],
"configuration": "./languages/xquery/xquery.json"
}
],
"menus": {
"commandPalette": [
{
"command": "basexTools.evaluateXPath",
"when": "editorLangId == xml"
},
{
"command": "basexTools.executeXQuery",
"when": "editorLangId == xquery"
},
{
"command": "basexTools.getCurrentXPath",
"when": "editorLangId == xml"
},
{
"command": "basexTools.minifyXml",
"when": "editorLangId == xml"
}
],
"editor/context": [
{
"command": "basexTools.minifyXml",
"group": "1_modification@100",
"when": "editorLangId == 'xml'"
}
]
},
"views": {
"explorer": [
{
"id": "xmlTreeView",
"name": "XML Document",
"when": "xmlTreeViewEnabled"
}
]
}
},
"scripts": {
"vscode:prepublish": "npm run esbuild-base -- --minify",
"esbuild-base": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node",
"esbuild": "npm run esbuild-base -- --sourcemap",
"esbuild-watch": "npm run esbuild-base -- --sourcemap --watch",
"test-compile": "tsc -p ./",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile && npm run lint",
"lint": "eslint src --ext ts",
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/glob": "^7.2.0",
"@types/mocha": "^9.0.0",
"@types/node": "^14.18.12",
"@types/vscode": "^1.73.0",
"@types/xmldom": "^0.1.31",
"@typescript-eslint/eslint-plugin": "^5.13.0",
"@typescript-eslint/parser": "^5.13.0",
"@vscode/test-electron": "^2.1.3",
"esbuild": "^0.14.25",
"eslint": "^8.10.0",
"glob": "^7.2.0",
"mocha": "^9.2.1",
"typescript": "^4.7.3"
},
"dependencies": {
"@quodatum/xqlint": "^0.2.0",
"@xmldom/xmldom": "^0.8.1",
"xpath": "0.0.32"
}
}