UNPKG

@jupyter-lsp/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

62 lines (61 loc) 2.76 kB
import { CodeJumper } from '@jupyter-lsp/code-jumpers'; import { JupyterFrontEndPlugin } from '@jupyterlab/application'; import { IDocumentManager } from '@jupyterlab/docmanager'; import { IEditorTracker } from '@jupyterlab/fileeditor'; import { WidgetLSPAdapter } from '@jupyterlab/lsp'; import { AnyLocation } from '@jupyterlab/lsp/lib/lsp'; import { INotebookTracker } from '@jupyterlab/notebook'; import { TranslationBundle } from '@jupyterlab/translation'; import { LabIcon } from '@jupyterlab/ui-components'; import type * as lsp from 'vscode-languageserver-protocol'; import * as lsProtocol from 'vscode-languageserver-protocol'; import { CodeJump as LSPJumpSettings, ModifierKey } from '../_jump_to'; import { ContextAssembler } from '../context'; import { FeatureSettings, Feature } from '../feature'; import { BrowserConsole } from '../virtual/console'; import { VirtualDocument } from '../virtual/document'; export declare const jumpToIcon: LabIcon; declare const enum JumpResult { NoTargetsFound = 1, PositioningFailure = 2, PathResolutionFailure = 3, AssumeSuccess = 4, UnspecifiedFailure = 5, AlreadyAtTarget = 6 } export declare class NavigationFeature extends Feature { readonly id: string; readonly capabilities: lsProtocol.ClientCapabilities; protected settings: FeatureSettings<LSPJumpSettings>; protected console: BrowserConsole; protected contextAssembler: ContextAssembler; constructor(options: NavigationFeature.IOptions); getJumper(adapter: WidgetLSPAdapter<any>): CodeJumper; protected get modifierKey(): ModifierKey; private _jumpOnMouseUp; private _jumpToDefinitionOrRefernce; private _harmonizeLocations; private _chooseTarget; private _resolvePath; handleJump(locationData: AnyLocation, positionParams: lsp.TextDocumentPositionParams, adapter: WidgetLSPAdapter<any>, document: VirtualDocument): Promise<JumpResult.NoTargetsFound | JumpResult.PositioningFailure | JumpResult.PathResolutionFailure | JumpResult.AssumeSuccess | JumpResult.AlreadyAtTarget>; private _trans; private _jumpers; } export declare namespace NavigationFeature { interface IOptions extends Feature.IOptions { settings: FeatureSettings<LSPJumpSettings>; trans: TranslationBundle; notebookTracker: INotebookTracker; documentManager: IDocumentManager; contextAssembler: ContextAssembler; fileEditorTracker: IEditorTracker | null; } const id: string; } export declare namespace CommandIDs { const jumpToDefinition = "lsp:jump-to-definition"; const jumpToReference = "lsp:jump-to-reference"; const jumpBack = "lsp:jump-back"; } export declare const JUMP_PLUGIN: JupyterFrontEndPlugin<void>; export {};