UNPKG

flink-cdc-language-server

Version:

A LSP-based language server for Apache Flink CDC

44 lines 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.YamlLanguageService = void 0; const vscode_languageserver_types_1 = require("vscode-languageserver-types"); const yamlLanguageService_1 = require("yaml-language-server/lib/esm/languageservice/yamlLanguageService"); const settings_1 = require("./settings"); class YamlLanguageService { constructor(languageSettings, options) { this.languageSettings = languageSettings; this.options = options; this._server = null; this.hoverMarkdownSource = `Source: [flink-cdc-docs-release-3.1](${settings_1.documentSiteHref})`; this._server = (0, yamlLanguageService_1.getLanguageService)(this.options); this._server.configure(this.languageSettings); } async doValidation(textDocument) { return this._server.doValidation(textDocument, false); } getFoldingRanges(textDocument) { return this._server.getFoldingRanges(textDocument, {}); } async doHover(textDocument, position) { return this._server.doHover(textDocument, position).then(hover => { if (hover && vscode_languageserver_types_1.MarkupContent.is(hover.contents)) { let value = hover.contents.value; value = value.replace(this.hoverMarkdownSource, `Source: [Flink CDC Docs](${settings_1.customOptions.documentHref})`); value = value.replace(/(\\\*){2,}/g, '**'); hover.contents.value = value; } return hover; }); } async doCompletion(textDocument, position) { return this._server.doComplete(textDocument, position, false); } doFormat(textDocument, options) { return this._server.doFormat(textDocument, options); } findDocumentSymbols(textDocument) { return this._server.findDocumentSymbols2(textDocument); } } exports.YamlLanguageService = YamlLanguageService; //# sourceMappingURL=lsp-server.js.map