[mod] xmlTools ->basexTools

This commit is contained in:
Andy Bunce 2022-02-05 22:40:34 +00:00
parent 4cbf4cb568
commit c275d88f77
7 changed files with 232 additions and 78 deletions

View File

@ -7,7 +7,7 @@ about: Report an issue with the XML formatter.
What seems to be the problem?
#### Formatter Implementation
Which XML Formatter implementation are you using (the value of your `xmlTools.xmlFormatterImplementation` setting).
Which XML Formatter implementation are you using (the value of your `basexTools.xmlFormatterImplementation` setting).
#### XML Tools Version
What version of XML Tools are you using?

5
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"recommendations": [
]
}

View File

@ -1,10 +1,6 @@
# XML Tools for Visual Studio Code
[![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/v/DotJoshJohnson.xml.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=DotJoshJohnson.xml)
[![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/r/DotJoshJohnson.xml.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=DotJoshJohnson.xml)
# BaseX Tools for Visual Studio Code
This project was originally a fork of https://github.com/DotJoshJohnson/vscode-xml
[![](https://img.shields.io/badge/TWITTER-%40DotJohnson-blue.svg?logo=twitter&style=for-the-badge)](https://twitter.com/DotJoshJohnson)
[![](https://img.shields.io/badge/gitter-join_chat-1dce73.svg?style=for-the-badge&logo=gitter-white)](https://gitter.im/vscode-xml/vscode-xml)
[![Beerpay](https://img.shields.io/beerpay/DotJoshJohnson/vscode-xml.svg?style=for-the-badge)](https://beerpay.io/DotJoshJohnson/vscode-xml)
## Features
* [XML Formatting](https://github.com/DotJoshJohnson/vscode-xml/wiki/xml-formatting)
@ -18,18 +14,18 @@
* VS Code `1.22.2` or higher
## Extension Settings
* **`xmlTools.enableXmlTreeView`:** Enables the XML Tree View for XML documents.
* **`xmlTools.enableXmlTreeViewMetadata`:** Enables attribute and child element counts in the XML Document view.
* **`xmlTools.enableXmlTreeViewCursorSync`:** Enables auto-reveal of elements in the XML Document view when a start tag is clicked in the editor.
* **`xmlTools.enforcePrettySelfClosingTagOnFormat`:** Ensures a space is added before the forward slash at the end of a self-closing tag.
* **`xmlTools.ignoreDefaultNamespace`:** Ignore default xmlns attributes when evaluating XPath.
* **`xmlTools.persistXPathQuery`:** Remember the last XPath query used.
* **`xmlTools.removeCommentsOnMinify`:** Remove XML comments during minification.
* **`xmlTools.splitAttributesOnFormat`:** Put each attribute on a new line when formatting XML. Overrides `xmlTools.splitXmlnsOnFormat` if set to `true`. (V2 Formatter Only)
* **`xmlTools.splitXmlnsOnFormat`:** Put each xmlns attribute on a new line when formatting XML.
* **`xmlTools.xmlFormatterImplementation`:** Supported XML Formatters: `classic`, `v2`.
* **`xmlTools.xqueryExecutionArguments`:** Arguments to be passed to the XQuery execution engine.
* **`xmlTools.xqueryExecutionEngine`:** The full path to the executable to run when executing XQuery scripts.
* **`basexTools.enableXmlTreeView`:** Enables the XML Tree View for XML documents.
* **`basexTools.enableXmlTreeViewMetadata`:** Enables attribute and child element counts in the XML Document view.
* **`basexTools.enableXmlTreeViewCursorSync`:** Enables auto-reveal of elements in the XML Document view when a start tag is clicked in the editor.
* **`basexTools.enforcePrettySelfClosingTagOnFormat`:** Ensures a space is added before the forward slash at the end of a self-closing tag.
* **`basexTools.ignoreDefaultNamespace`:** Ignore default xmlns attributes when evaluating XPath.
* **`basexTools.persistXPathQuery`:** Remember the last XPath query used.
* **`basexTools.removeCommentsOnMinify`:** Remove XML comments during minification.
* **`basexTools.splitAttributesOnFormat`:** Put each attribute on a new line when formatting XML. Overrides `basexTools.splitXmlnsOnFormat` if set to `true`. (V2 Formatter Only)
* **`basexTools.splitXmlnsOnFormat`:** Put each xmlns attribute on a new line when formatting XML.
* **`basexTools.xmlFormatterImplementation`:** Supported XML Formatters: `classic`, `v2`.
* **`basexTools.xqueryExecutionArguments`:** Arguments to be passed to the XQuery execution engine.
* **`basexTools.xqueryExecutionEngine`:** The full path to the executable to run when executing XQuery scripts.
## Release Notes
Detailed release notes are available [here](https://github.com/DotJoshJohnson/vscode-xml/releases).

156
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "xml",
"version": "2.5.2",
"name": "vscode-basex",
"version": "0.0.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -745,6 +745,158 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"esbuild": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.18.tgz",
"integrity": "sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A==",
"dev": true,
"requires": {
"esbuild-android-arm64": "0.14.18",
"esbuild-darwin-64": "0.14.18",
"esbuild-darwin-arm64": "0.14.18",
"esbuild-freebsd-64": "0.14.18",
"esbuild-freebsd-arm64": "0.14.18",
"esbuild-linux-32": "0.14.18",
"esbuild-linux-64": "0.14.18",
"esbuild-linux-arm": "0.14.18",
"esbuild-linux-arm64": "0.14.18",
"esbuild-linux-mips64le": "0.14.18",
"esbuild-linux-ppc64le": "0.14.18",
"esbuild-linux-s390x": "0.14.18",
"esbuild-netbsd-64": "0.14.18",
"esbuild-openbsd-64": "0.14.18",
"esbuild-sunos-64": "0.14.18",
"esbuild-windows-32": "0.14.18",
"esbuild-windows-64": "0.14.18",
"esbuild-windows-arm64": "0.14.18"
}
},
"esbuild-android-arm64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz",
"integrity": "sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz",
"integrity": "sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz",
"integrity": "sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz",
"integrity": "sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz",
"integrity": "sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz",
"integrity": "sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz",
"integrity": "sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg==",
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz",
"integrity": "sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz",
"integrity": "sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz",
"integrity": "sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz",
"integrity": "sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw==",
"dev": true,
"optional": true
},
"esbuild-linux-s390x": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz",
"integrity": "sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg==",
"dev": true,
"optional": true
},
"esbuild-netbsd-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz",
"integrity": "sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz",
"integrity": "sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz",
"integrity": "sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz",
"integrity": "sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz",
"integrity": "sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.14.18",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz",
"integrity": "sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA==",
"dev": true,
"optional": true
},
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",

View File

@ -1,8 +1,8 @@
{
"name": "vscode-basex",
"displayName": "XML Tools for BaseX",
"description": "XML Formatting, XQuery, and XPath Tools for Visual Studio Code",
"version": "0.0.2",
"displayName": "BaseX tools",
"description": "BaseX tools: XQuery, XML, XPath Tools for Visual Studio Code",
"version": "0.0.3",
"preview": false,
"publisher": "quodatum",
"author": {
@ -33,12 +33,12 @@
"Other"
],
"activationEvents": [
"onCommand:xmlTools.evaluateXPath",
"onCommand:xmlTools.executeXQuery",
"onCommand:xmlTools.formatAsXml",
"onCommand:xmlTools.textToXml",
"onCommand:xmlTools.xmlToText",
"onCommand:xmlTools.minifyXml",
"onCommand:basexTools.evaluateXPath",
"onCommand:basexTools.executeXQuery",
"onCommand:basexTools.formatAsXml",
"onCommand:basexTools.textToXml",
"onCommand:basexTools.xmlToText",
"onCommand:basexTools.minifyXml",
"onLanguage:xml",
"onLanguage:xquery",
"onLanguage:xsl"
@ -47,93 +47,93 @@
"contributes": {
"commands": [
{
"command": "xmlTools.evaluateXPath",
"title": "XML Tools: Evaluate XPath"
"command": "basexTools.evaluateXPath",
"title": "BaseX Tools: Evaluate XPath"
},
{
"command": "xmlTools.executeXQuery",
"title": "XML Tools: Execute XQuery"
"command": "basexTools.executeXQuery",
"title": "BaseX Tools: Execute XQuery"
},
{
"command": "xmlTools.formatAsXml",
"title": "XML Tools: Format as XML"
"command": "basexTools.formatAsXml",
"title": "BaseX Tools: Format as XML"
},
{
"command": "xmlTools.textToXml",
"title": "XML Tools: Convert text to XML (&lt;&gt; -> <>)"
"command": "basexTools.textToXml",
"title": "BaseX Tools: Convert text to XML (&lt;&gt; -> <>)"
},
{
"command": "xmlTools.xmlToText",
"title": "XML Tools: Convert XML to text (<> -> &lt;&gt;)"
"command": "basexTools.xmlToText",
"title": "BaseX Tools: Convert XML to text (<> -> &lt;&gt;)"
},
{
"command": "xmlTools.getCurrentXPath",
"title": "XML Tools: Get Current XPath"
"command": "basexTools.getCurrentXPath",
"title": "BaseX Tools: Get Current XPath"
},
{
"command": "xmlTools.minifyXml",
"title": "XML Tools: Minify XML"
"command": "basexTools.minifyXml",
"title": "BaseX Tools: Minify XML"
}
],
"configuration": {
"title": "XML Tools Configuration",
"type": "object",
"properties": {
"xmlTools.enableXmlTreeView": {
"basexTools.enableXmlTreeView": {
"type": "boolean",
"default": true,
"description": "Enables the XML Document view in the explorer for XML documents.",
"scope": "window"
},
"xmlTools.enableXmlTreeViewMetadata": {
"basexTools.enableXmlTreeViewMetadata": {
"type": "boolean",
"default": true,
"description": "Enables attribute and child element counts in the XML Document view.",
"scope": "window"
},
"xmlTools.enableXmlTreeViewCursorSync": {
"basexTools.enableXmlTreeViewCursorSync": {
"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"
},
"xmlTools.enforcePrettySelfClosingTagOnFormat": {
"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"
},
"xmlTools.ignoreDefaultNamespace": {
"basexTools.ignoreDefaultNamespace": {
"type": "boolean",
"default": true,
"description": "Ignore default xmlns attributes when evaluating XPath.",
"scope": "window"
},
"xmlTools.persistXPathQuery": {
"basexTools.persistXPathQuery": {
"type": "boolean",
"default": true,
"description": "Remember the last XPath query used.",
"scope": "window"
},
"xmlTools.removeCommentsOnMinify": {
"basexTools.removeCommentsOnMinify": {
"type": "boolean",
"default": false,
"description": "Remove XML comments during minification.",
"scope": "resource"
},
"xmlTools.splitAttributesOnFormat": {
"basexTools.splitAttributesOnFormat": {
"type": "boolean",
"default": false,
"description": "Put each attribute on a new line when formatting XML. Overrides `xmlTools.splitXmlnsOnFormat` if set to `true`.",
"description": "Put each attribute on a new line when formatting XML. Overrides `basexTools.splitXmlnsOnFormat` if set to `true`.",
"scope": "resource"
},
"xmlTools.splitXmlnsOnFormat": {
"basexTools.splitXmlnsOnFormat": {
"type": "boolean",
"default": true,
"description": "Put each xmlns attribute on a new line when formatting XML.",
"scope": "resource"
},
"xmlTools.xmlFormatterImplementation": {
"basexTools.xmlFormatterImplementation": {
"type": "string",
"enum": [
"classic",
@ -143,7 +143,7 @@
"description": "Supported XML Formatters: classic",
"scope": "window"
},
"xmlTools.xqueryExecutionArguments": {
"basexTools.xqueryExecutionArguments": {
"type": "array",
"default": [
"-xquery",
@ -156,19 +156,19 @@
"description": "Arguments to be passed to the XQuery execution engine.",
"scope": "window"
},
"xmlTools.xqueryExecutionEngine": {
"basexTools.xqueryExecutionEngine": {
"type": "string",
"default": "",
"description": "The full path to the executable to run when executing XQuery scripts.",
"scope": "window"
},
"xmlTools.xqueryExecutionInputLimit": {
"basexTools.xqueryExecutionInputLimit": {
"type": "integer",
"default": 100,
"description": "The maximum number of input files to enumerate when executing XQuery scripts.",
"scope": "window"
},
"xmlTools.xqueryExecutionInputSearchPattern": {
"basexTools.xqueryExecutionInputSearchPattern": {
"type": "string",
"default": "**/*.xml",
"description": "The pattern used to search for input XML files when executing XQuery scripts.",
@ -186,11 +186,11 @@
"keybindings": [
{
"key": "ctrl+shift+alt+x",
"command": "xmlTools.evaluateXPath"
"command": "basexTools.evaluateXPath"
},
{
"key": "ctrl+shift+alt+b",
"command": "xmlTools.formatAsXml"
"command": "basexTools.formatAsXml"
}
],
"languages": [
@ -225,25 +225,25 @@
"menus": {
"commandPalette": [
{
"command": "xmlTools.evaluateXPath",
"command": "basexTools.evaluateXPath",
"when": "editorLangId == xml"
},
{
"command": "xmlTools.executeXQuery",
"command": "basexTools.executeXQuery",
"when": "editorLangId == xquery"
},
{
"command": "xmlTools.getCurrentXPath",
"command": "basexTools.getCurrentXPath",
"when": "editorLangId == xml"
},
{
"command": "xmlTools.minifyXml",
"command": "basexTools.minifyXml",
"when": "editorLangId == xml"
}
],
"editor/context": [
{
"command": "xmlTools.minifyXml",
"command": "basexTools.minifyXml",
"group": "1_modification@100",
"when": "editorLangId == 'xml'"
}
@ -268,18 +268,19 @@
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/vscode": "^1.63.0",
"@types/glob": "^7.2.0",
"@types/mocha": "^9.0.0",
"@types/node": "14.x",
"@types/vscode": "^1.63.0",
"@types/xmldom": "^0.1.13",
"@typescript-eslint/eslint-plugin": "^5.9.1",
"@typescript-eslint/parser": "^5.9.1",
"@types/xmldom": "^0.1.13",
"@vscode/test-electron": "^2.0.3",
"esbuild": "^0.14.18",
"eslint": "^8.6.0",
"glob": "^7.2.0",
"mocha": "^9.1.3",
"typescript": "^4.5.4",
"@vscode/test-electron": "^2.0.3"
"typescript": "^4.5.4"
},
"dependencies": {
"xmldom": "^0.1.27",

View File

@ -1,6 +1,6 @@
import { workspace, Uri } from "vscode";
const ExtensionTopLevelSection = "xmlTools";
const ExtensionTopLevelSection = "basexTools";
export class Configuration {
static get enableXmlTreeView(): boolean {

View File

@ -1,11 +1,11 @@
export namespace commands {
export const evaluateXPath = "xmlTools.evaluateXPath";
export const executeXQuery = "xmlTools.executeXQuery";
export const formatAsXml = "xmlTools.formatAsXml";
export const xmlToText = "xmlTools.xmlToText";
export const textToXml = "xmlTools.textToXml";
export const getCurrentXPath = "xmlTools.getCurrentXPath";
export const minifyXml = "xmlTools.minifyXml";
export const evaluateXPath = "basexTools.evaluateXPath";
export const executeXQuery = "basexTools.executeXQuery";
export const formatAsXml = "basexTools.formatAsXml";
export const xmlToText = "basexTools.xmlToText";
export const textToXml = "basexTools.textToXml";
export const getCurrentXPath = "basexTools.getCurrentXPath";
export const minifyXml = "basexTools.minifyXml";
}
export namespace contextKeys {