flink-cdc-language-server
Version:
A LSP-based language server for Apache Flink CDC
43 lines • 2.03 kB
JavaScript
;
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");
class YamlLanguageService {
constructor(languageSettings, options) {
this.languageSettings = languageSettings;
this.options = options;
this._server = null;
this.hoverMarkdownSource = 'Source: [flink-cdc-docs-release-3.1](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/)';
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](https://nightlies.apache.org/flink/flink-cdc-docs-release-3.1/docs/core-concept/data-pipeline/)');
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