@krassowski/jupyterlab_go_to_definition
Version:
Jump to definition of a variable or function in JupyterLab
39 lines (38 loc) • 2.18 kB
TypeScript
import { CodeEditor } from '@jupyterlab/codeeditor';
import { IGlobalJump, IJump, IJumpPosition } from '../jump';
import { IDocumentManager } from '@jupyterlab/docmanager';
import { LanguageAnalyzer, TokenContext } from '../languages/analyzer';
import { Kernel, KernelMessage } from '@jupyterlab/services';
import IIOPubMessage = KernelMessage.IIOPubMessage;
import { IDocumentWidget } from '@jupyterlab/docregistry';
import { JumpHistory } from '../history';
export declare abstract class CodeJumper {
abstract language: string;
document_manager: IDocumentManager;
widget: IDocumentWidget;
history: JumpHistory;
abstract jump_to_definition(jump: IJump): void;
abstract get editors(): ReadonlyArray<CodeEditor.IEditor>;
protected _getLanguageAnalyzerForCell(cell_editor: CodeEditor.IEditor): LanguageAnalyzer;
/**
* Find the last definition of given variable.
*/
protected _findLastDefinition(token: CodeEditor.IToken, stopIndex: number): {
token: CodeEditor.IToken;
cellIndex: number;
};
private go_to_position;
global_jump(position: IGlobalJump, is_symlink?: boolean): void;
try_to_open_document(path: string, is_symlink: boolean, line_number?: number, input_number?: number, column?: number): void;
handle_path_from_kernel(response: IIOPubMessage, fallback_paths: string[]): void;
get kernel(): Kernel.IKernelConnection;
abstract get cwd(): string;
queryKernel(code: string, kernel: Kernel.IKernelConnection, callback: (msg: KernelMessage.IIOPubMessage) => any): void;
protected jump_to_cross_file_reference(context: TokenContext, cell_of_origin_analyzer: LanguageAnalyzer): void;
handle_kernel_inspect(response: IIOPubMessage, fallback: Function): void;
protected inspect_and_jump(context: TokenContext, cell_of_origin_analyzer: LanguageAnalyzer, fallback: Function, callback: Function): void;
abstract jump(position: IJumpPosition): void;
abstract getOffset(position: CodeEditor.IPosition, cell?: number): number;
abstract getJumpPosition(position: CodeEditor.IPosition, input_number?: number): IJumpPosition;
}
export declare let jumpers: Map<string, any>;