diff --git a/server/package-lock.json b/server/package-lock.json index 8b87c6b..031fdd5 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -95,9 +95,9 @@ } }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -122,9 +122,10 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "prettier": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.17.0.tgz", - "integrity": "sha512-sXe5lSt2WQlCbydGETgfm1YBShgOX4HxQkFPvbxkcwgDvGDeqVau8h+12+lmSVlP3rHPz0oavfddSZg/q+Szjw==" + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "optional": true }, "request-light": { "version": "0.2.4", @@ -198,6 +199,13 @@ "requires": { "vscode-languageserver-protocol": "3.14.1", "vscode-uri": "^1.0.6" + }, + "dependencies": { + "vscode-uri": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", + "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==" + } } }, "vscode-languageserver-protocol": { @@ -215,14 +223,14 @@ "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==" }, "vscode-nls": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-3.2.5.tgz", - "integrity": "sha512-ITtoh3V4AkWXMmp3TB97vsMaHRgHhsSFPsUdzlueSL+dRZbSNTZeOmdQv60kjCV306ghPxhDeoNUEm3+EZMuyw==" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz", + "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==" }, "vscode-uri": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.6.tgz", - "integrity": "sha512-sLI2L0uGov3wKVb9EB+vIQBl9tVP90nqRvxSoJ35vI3NjxE8jfsE5DSOhWgSunHSZmKS4OCi2jrtfxK7uyp2ww==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" }, "yaml-ast-parser-custom-tags": { "version": "0.0.43", @@ -230,53 +238,26 @@ "integrity": "sha512-R5063FF/JSAN6qXCmylwjt9PcDH6M0ExEme/nJBzLspc6FJDmHHIqM7xh2WfEmsTJqClF79A9VkXjkAqmZw9SQ==" }, "yaml-language-server": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.4.0.tgz", - "integrity": "sha512-56lPsjm/O0a2i2Jeo6P7xLB0WswU/gVFVapt285MBi8ojs3qKb5evFpC4WzteCUnCyvwUydfmGKld3GVRQX1uA==", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-0.5.8.tgz", + "integrity": "sha512-IDPHRXJJz3W7MIksFGwQ9GweY+n064MSsiC3LpoxURdafNQ+6OcBAuVwfJdItRTGSB96l2soQB5UfjiqVBeggQ==", "requires": { - "js-yaml": "^3.12.0", - "jsonc-parser": "^1.0.3", - "prettier": "^1.15.2", - "request-light": "^0.2.3", - "vscode-json-languageservice": "3.0.12", - "vscode-languageserver": "^4.0.0", - "vscode-languageserver-types": "^3.6.1", - "vscode-nls": "^3.2.2", - "vscode-uri": "^1.0.6", + "js-yaml": "^3.13.1", + "jsonc-parser": "^2.1.0", + "prettier": "^1.18.2", + "request-light": "^0.2.4", + "vscode-json-languageservice": "^3.3.0", + "vscode-languageserver": "^5.2.1", + "vscode-languageserver-types": "^3.14.0", + "vscode-nls": "^4.1.1", + "vscode-uri": "^2.0.3", "yaml-ast-parser-custom-tags": "0.0.43" }, "dependencies": { - "jsonc-parser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz", - "integrity": "sha512-hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==" - }, - "vscode-json-languageservice": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.0.12.tgz", - "integrity": "sha512-XSgRVY/vsPqOa//ZwLD5DWx1wzTQGgeZfsOlVqFlLya10dpimSnd27kbuL45hzxh4B+MvmHZtZeWQKjSYnNF0A==", - "requires": { - "jsonc-parser": "^2.0.0-next.1", - "vscode-languageserver-types": "^3.6.1", - "vscode-nls": "^3.2.1", - "vscode-uri": "^1.0.3" - }, - "dependencies": { - "jsonc-parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.1.0.tgz", - "integrity": "sha512-n9GrT8rrr2fhvBbANa1g+xFmgGK5X91KFeDwlKQ3+SJfmH5+tKv/M/kahx/TXOMflfWHKGKqKyfHQaLKTNzJ6w==" - } - } - }, - "vscode-languageserver": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-4.4.2.tgz", - "integrity": "sha512-61y8Raevi9EigDgg9NelvT9cUAohiEbUl1LOwQQgOCAaNX62yKny/ddi0uC+FUTm4CzsjhBu+06R+vYgfCYReA==", - "requires": { - "vscode-languageserver-protocol": "^3.10.3", - "vscode-uri": "^1.0.5" - } + "vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" } } } diff --git a/server/package.json b/server/package.json index 4114a54..389bad1 100644 --- a/server/package.json +++ b/server/package.json @@ -25,6 +25,7 @@ "vscode-json-languageservice": "^3.3.1", "vscode-languageserver": "^5.2.1", "vscode-languageserver-protocol": "3.14.1", - "yaml-language-server": "0.4.0" + "yaml-language-server": "0.5.8", + "vscode-uri": "^2.0.3" } } diff --git a/server/src/server.ts b/server/src/server.ts index bf976b3..6022f97 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -2,10 +2,10 @@ import { IConnection, createConnection, TextDocuments, InitializeParams, InitializeResult, RequestType, TextDocument } from 'vscode-languageserver'; import { LanguageService, LanguageSettings } from 'yaml-language-server/out/server/src/languageservice/yamlLanguageService'; -import { parse as parseYAML } from 'yaml-language-server/out/server/src/languageservice/parser/yamlParser'; +import { parse as parseYAML } from 'yaml-language-server/out/server/src/languageservice/parser/yamlParser07'; import { removeDuplicatesObj } from 'yaml-language-server/out/server/src/languageservice/utils/arrUtils'; -import { URI } from 'yaml-language-server/out/server/src/languageservice/utils/uri'; -import { CustomSchemaContentRequest } from 'yaml-language-server/out/server/src/server'; +import { URI } from 'vscode-uri'; +import { CustomSchemaContentRequest } from 'yaml-language-server/out/server/src/requestTypes'; import { getLanguageService, ClientSettings } from './yamlLanguageService'; import { xhr, XHRResponse, configure as configureHttpRequests, getErrorStatusDescription } from 'request-light'; @@ -159,7 +159,7 @@ function updateConfiguration() { schemas: [], validate: enableValidation, completion: false, - foramt: false + format: false } languageService.configure(settings, clientSetting); documents.all().forEach(triggerValidation); diff --git a/server/src/services/yamlHover.ts b/server/src/services/yamlHover.ts index b88c44e..2fa46ab 100644 --- a/server/src/services/yamlHover.ts +++ b/server/src/services/yamlHover.ts @@ -2,7 +2,7 @@ import { TextDocument, Position, Hover, Range } from "vscode-languageserver/lib/main"; import * as Parser from 'vscode-json-languageservice/lib/umd/parser/jsonParser'; -import { SingleYAMLDocument } from 'yaml-language-server/out/server/src/languageservice/parser/yamlParser'; +import { SingleYAMLDocument } from 'yaml-language-server/out/server/src/languageservice/parser/yamlParser07'; import { PromiseConstructor } from 'vscode-json-languageservice'; import * as path from 'path'; import * as fsextra from 'fs-extra'; @@ -39,11 +39,11 @@ export class YAMLHover { } let node = currentDoc.getNodeFromOffset(offset); - if (!node || (node.type === 'object' || node.type === 'array') && offset > node.start + 1 && offset < node.end - 1) { + if (!node || (node.type === 'object' || node.type === 'array') && offset > node.offset + 1 && offset < node.offset + node.length - 1) { return this.promise.resolve(void 0); } - if (node.type === 'string' && node.isKey && node.value != 'name') { + if (node.type === 'string' && node.value != 'name') { if (node.parent && node.parent.type === 'property') { let parent = node.parent; @@ -56,9 +56,9 @@ export class YAMLHover { let taskNode = grandparent.parent; if (taskNode.location === 'tasks' || (taskNode.type === 'array' && this.moduleNames.indexOf(node.value) > -1)) { - let hoverRange = Range.create(document.positionAt(node.start), document.positionAt(node.end)); + let hoverRange = Range.create(document.positionAt(node.offset), document.positionAt(node.offset + node.length)); - return this.promise.resolve(this.createHover(node.getValue(), hoverRange)); + return this.promise.resolve(this.createHover(node.value, hoverRange)); } } } diff --git a/server/src/yamlLanguageService.ts b/server/src/yamlLanguageService.ts index 2b2f131..3638b07 100644 --- a/server/src/yamlLanguageService.ts +++ b/server/src/yamlLanguageService.ts @@ -1,7 +1,8 @@ 'use strict' import { YamlDocumentSymbols } from './services/yamlDocumentSymbol'; -import { SchemaRequestService, YAMLDocument, LanguageSettings } from 'yaml-language-server/out/server/src/languageservice/yamlLanguageService'; +import { SchemaRequestService, LanguageSettings } from 'yaml-language-server/out/server/src/languageservice/yamlLanguageService'; +import { YAMLDocument } from 'yaml-language-server/out/server/src/languageservice/parser/yamlParser07'; import { YAMLValidation } from 'yaml-language-server/out/server/src/languageservice/services/yamlValidation'; import { JSONSchemaService } from 'yaml-language-server/out/server/src/languageservice/services/jsonSchemaService'; import { schemaContributions } from 'vscode-json-languageservice/lib/umd/services/configuration';