@krassowski/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
56 lines (55 loc) • 3.18 kB
TypeScript
import { JupyterFrontEnd } from '@jupyterlab/application';
import { CompletionHandler, ICompletionManager, CompleterModel } from '@jupyterlab/completer';
import { IDocumentWidget } from '@jupyterlab/docregistry';
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
import { ILSPCompletionThemeManager } from '@krassowski/completion-theme/lib/types';
import type * as CodeMirror from 'codemirror';
import { CodeCompletion as LSPCompletionSettings } from '../../_completion';
import { IEditorChangedData, WidgetAdapter } from '../../adapters/adapter';
import { IDocumentConnectionData } from '../../connection_manager';
import { CodeMirrorIntegration } from '../../editor_integration/codemirror';
import { FeatureSettings, IFeatureLabIntegration } from '../../feature';
import { ExtendedCompletionTriggerKind } from '../../lsp';
import { ILSPAdapterManager, ILSPLogConsole } from '../../tokens';
import { LSPConnector } from './completion_handler';
import { LazyCompletionItem } from './item';
import { LSPCompleterModel } from './model';
import { ICompletionData, LSPCompletionRenderer } from './renderer';
export declare class CompletionCM extends CodeMirrorIntegration {
private _completionCharacters;
get settings(): FeatureSettings<LSPCompletionSettings>;
get completionCharacters(): string[];
afterChange(change: CodeMirror.EditorChange): void;
}
export declare class CompletionLabIntegration implements IFeatureLabIntegration {
private app;
private completionManager;
settings: FeatureSettings<LSPCompletionSettings>;
private adapterManager;
private completionThemeManager;
private console;
private renderMimeRegistry;
protected current_completion_connector: LSPConnector;
protected current_completion_handler: CompletionHandler;
protected current_adapter: WidgetAdapter<IDocumentWidget> | null;
protected renderer: LSPCompletionRenderer;
private _latestActiveItem;
private _signalConnected;
private _disabled;
constructor(app: JupyterFrontEnd, completionManager: ICompletionManager, settings: FeatureSettings<LSPCompletionSettings>, adapterManager: ILSPAdapterManager, completionThemeManager: ILSPCompletionThemeManager, console: ILSPLogConsole, renderMimeRegistry: IRenderMimeRegistry);
protected fetchDocumentation(item: LazyCompletionItem): void;
active_completion_changed(renderer: LSPCompletionRenderer, active_completion: ICompletionData): void;
private resolve_and_update_from_item;
private resolve_and_update;
private swap_adapter;
connect_completion(adapter: WidgetAdapter<IDocumentWidget>, data?: IDocumentConnectionData): void;
protected get completer(): import("@jupyterlab/completer").Completer;
protected get model(): LSPCompleterModel | CompleterModel;
invoke_completer(kind: ExtendedCompletionTriggerKind): Promise<any>;
set_connector(adapter: WidgetAdapter<IDocumentWidget>, editor_changed: IEditorChangedData): void;
private get current_items();
private get current_index();
refresh_doc_panel(item: LazyCompletionItem): void;
set_doc_panel_placeholder(enable: boolean): void;
private set_completion_connector;
}