UNPKG

@jupyter-lsp/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

38 lines (37 loc) 2.05 kB
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>;