@jupyter-lsp/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
38 lines (37 loc) • 2.05 kB
TypeScript
import { EditorView } from '@codemirror/view';
import { JupyterFrontEndPlugin } from '@jupyterlab/application';
import { IVirtualPosition, WidgetLSPAdapter, Document } from '@jupyterlab/lsp';
import { LabIcon } from '@jupyterlab/ui-components';
import { Debouncer } from '@lumino/polling';
import type * as lsProtocol from 'vscode-languageserver-protocol';
import { CodeHighlights as LSPHighlightsSettings } from '../_highlights';
import { FeatureSettings, Feature } from '../feature';
import { DocumentHighlightKind } from '../lsp';
import { ISimpleMarkManager } from '../marks';
import { BrowserConsole } from '../virtual/console';
import { VirtualDocument } from '../virtual/document';
export declare const highlightIcon: LabIcon;
export declare class HighlightsFeature extends Feature {
readonly capabilities: lsProtocol.ClientCapabilities;
readonly id: string;
protected settings: FeatureSettings<LSPHighlightsSettings>;
protected markManager: ISimpleMarkManager<DocumentHighlightKind>;
protected console: BrowserConsole;
private _debouncedGetHighlight;
private _virtualPosition;
private _versionSent;
private _lastToken;
constructor(options: HighlightsFeature.IOptions);
protected onBlur(view: EditorView): void;
protected handleHighlight(items: lsProtocol.DocumentHighlight[] | null, adapter: WidgetLSPAdapter<any>, document: VirtualDocument): void;
protected createDebouncer(): Debouncer<lsProtocol.DocumentHighlight[] | null, void, [VirtualDocument, IVirtualPosition]>;
protected requestHighlights: (virtualDocument: VirtualDocument, virtualPosition: IVirtualPosition) => Promise<lsProtocol.DocumentHighlight[] | null>;
protected onCursorActivity(editorAccessor: Document.IEditor, adapter: WidgetLSPAdapter<any>): Promise<void>;
}
export declare namespace HighlightsFeature {
interface IOptions extends Feature.IOptions {
settings: FeatureSettings<LSPHighlightsSettings>;
}
const id: string;
}
export declare const HIGHLIGHTS_PLUGIN: JupyterFrontEndPlugin<void>;