[mod] XQlint factory

This commit is contained in:
Andy Bunce 2023-02-27 10:46:37 +00:00
parent e590fabce1
commit c37d1d8fa7
11 changed files with 180 additions and 130 deletions

View file

@ -1,3 +1,8 @@
# 0.1.2 (2023-02-26)
* update to xqlint 0.2.1
* add setting platform
* common XQlint configuration.
# 0.1.1 (2023-02-24)
* Add setting to control "Hover show"
* Add setting to filter out matching diagnostic messages

237
package-lock.json generated
View file

@ -1,12 +1,12 @@
{
"name": "vscode-basex",
"version": "0.0.68",
"version": "0.1.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "vscode-basex",
"version": "0.0.68",
"version": "0.1.2",
"license": "MIT",
"dependencies": {
"@quodatum/xqlint": "^0.2.0",
@ -49,9 +49,9 @@
}
},
"node_modules/@eslint/eslintrc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
"integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz",
"integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
@ -71,6 +71,15 @@
"url": "https://opencollective.com/eslint"
}
},
"node_modules/@eslint/js": {
"version": "8.35.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz",
"integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.8",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
@ -140,9 +149,9 @@
}
},
"node_modules/@quodatum/xqlint": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@quodatum/xqlint/-/xqlint-0.2.0.tgz",
"integrity": "sha512-PWyuhlZQ7ptL2KPa74g6uMjcFXB2t0INFpnBwWRkLG8qGZ1nNygEofTNSihssGMYiEQSZyP2FhIV3nAhiheZuA==",
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@quodatum/xqlint/-/xqlint-0.2.1.tgz",
"integrity": "sha512-uuKeTdHEsK1UjFyXkYVGhw6ioypeB4wauqyvPrNNnrLkc/2yR0YIoIFvq9VR7Do3M3gL/LBBasPdBUugtDD8xA==",
"dependencies": {
"colors": "1.4.0",
"commander": "~2.3.0",
@ -219,14 +228,14 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz",
"integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz",
"integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/type-utils": "5.52.0",
"@typescript-eslint/utils": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/type-utils": "5.53.0",
"@typescript-eslint/utils": "5.53.0",
"debug": "^4.3.4",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
@ -253,14 +262,14 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz",
"integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz",
"integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"debug": "^4.3.4"
},
"engines": {
@ -280,13 +289,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz",
"integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.52.0"
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/visitor-keys": "5.53.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -297,13 +306,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz",
"integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz",
"integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==",
"dev": true,
"dependencies": {
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/utils": "5.52.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"@typescript-eslint/utils": "5.53.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
@ -324,9 +333,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz",
"integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -337,13 +346,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz",
"integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.52.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/visitor-keys": "5.53.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@ -364,16 +373,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz",
"integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
@ -390,12 +399,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz",
"integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/types": "5.53.0",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@ -1254,12 +1263,13 @@
}
},
"node_modules/eslint": {
"version": "8.34.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz",
"integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==",
"version": "8.35.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz",
"integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==",
"dev": true,
"dependencies": {
"@eslint/eslintrc": "^1.4.1",
"@eslint/eslintrc": "^2.0.0",
"@eslint/js": "8.35.0",
"@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
@ -1273,7 +1283,7 @@
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.3.0",
"espree": "^9.4.0",
"esquery": "^1.4.0",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
@ -2443,9 +2453,9 @@
}
},
"node_modules/readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"dependencies": {
"core-util-is": "~1.0.0",
@ -2961,9 +2971,9 @@
"optional": true
},
"@eslint/eslintrc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
"integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz",
"integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
@ -2977,6 +2987,12 @@
"strip-json-comments": "^3.1.1"
}
},
"@eslint/js": {
"version": "8.35.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz",
"integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==",
"dev": true
},
"@humanwhocodes/config-array": {
"version": "0.11.8",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
@ -3027,9 +3043,9 @@
}
},
"@quodatum/xqlint": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@quodatum/xqlint/-/xqlint-0.2.0.tgz",
"integrity": "sha512-PWyuhlZQ7ptL2KPa74g6uMjcFXB2t0INFpnBwWRkLG8qGZ1nNygEofTNSihssGMYiEQSZyP2FhIV3nAhiheZuA==",
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@quodatum/xqlint/-/xqlint-0.2.1.tgz",
"integrity": "sha512-uuKeTdHEsK1UjFyXkYVGhw6ioypeB4wauqyvPrNNnrLkc/2yR0YIoIFvq9VR7Do3M3gL/LBBasPdBUugtDD8xA==",
"requires": {
"colors": "1.4.0",
"commander": "~2.3.0",
@ -3096,14 +3112,14 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.52.0.tgz",
"integrity": "sha512-lHazYdvYVsBokwCdKOppvYJKaJ4S41CgKBcPvyd0xjZNbvQdhn/pnJlGtQksQ/NhInzdaeaSarlBjDXHuclEbg==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz",
"integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==",
"dev": true,
"requires": {
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/type-utils": "5.52.0",
"@typescript-eslint/utils": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/type-utils": "5.53.0",
"@typescript-eslint/utils": "5.53.0",
"debug": "^4.3.4",
"grapheme-splitter": "^1.0.4",
"ignore": "^5.2.0",
@ -3114,53 +3130,53 @@
}
},
"@typescript-eslint/parser": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.52.0.tgz",
"integrity": "sha512-e2KiLQOZRo4Y0D/b+3y08i3jsekoSkOYStROYmPUnGMEoA0h+k2qOH5H6tcjIc68WDvGwH+PaOrP1XRzLJ6QlA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz",
"integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==",
"dev": true,
"requires": {
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz",
"integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.52.0"
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/visitor-keys": "5.53.0"
}
},
"@typescript-eslint/type-utils": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.52.0.tgz",
"integrity": "sha512-tEKuUHfDOv852QGlpPtB3lHOoig5pyFQN/cUiZtpw99D93nEBjexRLre5sQZlkMoHry/lZr8qDAt2oAHLKA6Jw==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz",
"integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==",
"dev": true,
"requires": {
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/utils": "5.52.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"@typescript-eslint/utils": "5.53.0",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz",
"integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz",
"integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.52.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/visitor-keys": "5.53.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@ -3169,28 +3185,28 @@
}
},
"@typescript-eslint/utils": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz",
"integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.52.0",
"@typescript-eslint/scope-manager": "5.53.0",
"@typescript-eslint/types": "5.53.0",
"@typescript-eslint/typescript-estree": "5.53.0",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
}
},
"@typescript-eslint/visitor-keys": {
"version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"version": "5.53.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz",
"integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==",
"dev": true,
"requires": {
"@typescript-eslint/types": "5.52.0",
"@typescript-eslint/types": "5.53.0",
"eslint-visitor-keys": "^3.3.0"
}
},
@ -3724,12 +3740,13 @@
"dev": true
},
"eslint": {
"version": "8.34.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz",
"integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==",
"version": "8.35.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz",
"integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==",
"dev": true,
"requires": {
"@eslint/eslintrc": "^1.4.1",
"@eslint/eslintrc": "^2.0.0",
"@eslint/js": "8.35.0",
"@humanwhocodes/config-array": "^0.11.8",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
@ -3743,7 +3760,7 @@
"eslint-utils": "^3.0.0",
"eslint-visitor-keys": "^3.3.0",
"espree": "^9.4.0",
"esquery": "^1.4.0",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
@ -4602,9 +4619,9 @@
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",

View file

@ -2,7 +2,7 @@
"name": "vscode-basex",
"displayName": "BaseX tools",
"description": "BaseX tools: XQuery, XML, XPath Tools for Visual Studio Code",
"version": "0.1.1",
"version": "0.1.2",
"preview": true,
"publisher": "quodatum",
"author": "Andy Bunce (https://github.com/Quodatum)",
@ -70,16 +70,28 @@
}
],
"configuration": [
{
"id": "xqueryui",
"order": 1,
"title": "XQuery UI",
"properties": {
"basexTools.xquery.platform": {
"type": "string",
"default": "basex",
"enum": [
"basex",
"none"
],
"enumDescriptions": [
"BaseX 9.7.5 ",
"no custom libraries"
],
"description": "XQuery implementation. Determines syntax and core module libraries."
},
"basexTools.xquery.showHovers": {
"type": "boolean",
"default": false,
"description": "Show hovers in xquery. Currently these show just Diagnostic info"
"type": "boolean",
"default": false,
"description": "Show hovers in XQuery source. Currently these show just Diagnostic info"
},
"basexTools.xquery.suppressErrors": {
"type": "array",
@ -88,7 +100,7 @@
"[XPST0008]"
],
"description": "Error messages including these strings are marked as info rather than error. TEMP HACK! "
}
}
}
},
{
@ -148,7 +160,6 @@
}
}
},
{
"title": "XML edit ",
"order": 4,
@ -338,4 +349,4 @@
"@xmldom/xmldom": "^0.8.1",
"xpath": "0.0.32"
}
}
}

View file

@ -46,7 +46,9 @@ export class Configuration {
static get xqueryExecutionInputSearchPattern(): string {
return this._getForWindow<string>("xquery.executionInputSearchPattern");
}
static get xqueryPlatform(): string {
return this._getForWindow<string>("xquery.platform");
}
static xqueryShowHovers(resource: Uri): boolean {
return this._getForResource<boolean>("xquery.showHovers", resource);
}

View file

@ -1,4 +1,5 @@
export * from "./configuration";
export * from "./xqlint";
export * from "./create-document-selector";
export * from "./extension-state";
export * from "./native-commands";

11
src/common/xqlint.ts Normal file
View file

@ -0,0 +1,11 @@
import * as ext from "@quodatum/xqlint"
import { Configuration } from ".";
import { channel } from "../common/logger";
export class factory{
static XQLint( txt: string) :ext.XQLint{
const platform= Configuration.xqueryPlatform;
channel.log(platform);
return new ext.XQLint(txt, {"platform": platform, "styleCheck": false })
}
}

View file

@ -1,12 +1,12 @@
import { CompletionItem, CompletionItemKind, CompletionItemProvider, Position, TextDocument } from "vscode";
import { XQLint} from "@quodatum/xqlint";
import {factory} from "../common/xqlint";
export class XQueryCompletionItemProvider implements CompletionItemProvider {
provideCompletionItems(document: TextDocument, position: Position): CompletionItem[] {
const completionItems = new Array<CompletionItem>();
const linter = new XQLint(document.getText());
const linter = factory.XQLint(document.getText());
linter.getCompletions(position).forEach((x: any) => {
completionItems.push(this._getCompletionItem(x));

View file

@ -1,7 +1,7 @@
// xquery hover
import { CancellationToken, Hover, HoverProvider, Position, TextDocument } from "vscode";
import { XQLint } from "@quodatum/xqlint";
import { factory } from "../common/xqlint";
import { Configuration } from "../common";
export class XQueryHoverProvider implements HoverProvider {
@ -10,7 +10,7 @@ export class XQueryHoverProvider implements HoverProvider {
position: Position,
token: CancellationToken
): Hover | null {
const linter = new XQLint(document.getText());
const linter = factory.XQLint(document.getText());
const node = linter.getAST(position);
//const sctx=linter.getCompletions(position);

View file

@ -1,11 +1,12 @@
import { TextEditor } from "vscode";
import { XQLint} from "@quodatum/xqlint";
import { channel,dump } from "../common/logger";
import {factory} from "../common/xqlint";
export function xqLintReport(textEditor: TextEditor): void {
const linter = new XQLint(textEditor.document.getText());
const linter = factory.XQLint(textEditor.document.getText());
textEditor.edit(textEdit => {
const selections = textEditor.selections;
selections.forEach(selection => {

View file

@ -1,7 +1,8 @@
// convert xqlint markers
import { Diagnostic, DiagnosticSeverity, Position, Range } from "vscode";
import { Marker, XQLint } from "@quodatum/xqlint";
import { Marker } from "@quodatum/xqlint";
import { Configuration } from "../common";
import {factory} from "../common/xqlint";
// [XQST0059] module "http://www.rave-tech.com/bloomsbury/config" not found
// [XPST0008] "list-details#0": undeclared function
@ -13,7 +14,7 @@ function isSuppressed(msg: string): boolean {
export class XQueryLinter {
lint(text: string): Diagnostic[] {
const linter = new XQLint(text);
const linter = factory.XQLint(text);
const diagnostics = new Array<Diagnostic>();
linter.getErrors().forEach((error: Marker) => {

View file

@ -1,8 +1,9 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import { VarDecl, FunDecl, XQLint } from '@quodatum/xqlint';
import { VarDecl, FunDecl} from '@quodatum/xqlint';
import {SymbolKind, DocumentSymbol, DocumentSymbolProvider,
Range, Position, TextDocument,CancellationToken} from 'vscode';
import { channel } from "../common/logger";
import {factory} from "../common/xqlint";
//
// This class handles XQuery Symbols
//
@ -24,7 +25,7 @@ export class Symbols implements DocumentSymbolProvider {
channel.log("Symbols: " + document.uri);
const symbols: DocumentSymbol[] = [];
const text = document.getText();
const linter = new XQLint(text, { "styleCheck": false });
const linter =factory.XQLint(text);
const xqdoc = linter.getXQDoc();
channel.log("got xqdoc");