UNPKG

@krassowski/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

50 lines 1.62 kB
class OverridesMap extends Map { constructor(magic_overrides) { super(magic_overrides.map(m => [new RegExp(m.pattern), m.replacement])); } _override_for(code) { for (let [key, value] of this) { if (code.match(key)) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore return code.replace(key, value); } } return null; } } export class ReversibleOverridesMap extends OverridesMap { constructor(magic_overrides) { super(magic_overrides); this.overrides = magic_overrides; } get reverse() { return this.type(this.overrides .filter(override => override.reverse != null) .map(override => override.reverse)); } type(overrides) { return new ReversibleOverridesMap(overrides); } override_for(cell) { return super._override_for(cell); } replace_all(raw_lines, map = this) { let substituted_lines = new Array(); let skip_inspect = new Array(); for (let i = 0; i < raw_lines.length; i++) { let line = raw_lines[i]; let override = map.override_for(line); substituted_lines.push(override == null ? line : override); skip_inspect.push(override != null); } return { lines: substituted_lines, skip_inspect: skip_inspect }; } reverse_replace_all(raw_lines) { return this.replace_all(raw_lines, this.reverse).lines; } } //# sourceMappingURL=maps.js.map