@jupyter-lsp/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
62 lines (61 loc) • 2.76 kB
TypeScript
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 {};