UNPKG

@krassowski/jupyterlab_go_to_definition

Version:

Jump to definition of a variable or function in JupyterLab

39 lines (38 loc) 2.18 kB
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>;