flink-cdc-language-server
Version:
A LSP-based language server for Apache Flink CDC
44 lines • 1.99 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");
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