@jupyter-lsp/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
24 lines (23 loc) • 1.72 kB
TypeScript
import { CodeEditor } from '@jupyterlab/codeeditor';
import type { IVirtualPosition, IRootPosition, IPosition, IEditorPosition, WidgetLSPAdapter, Document } from '@jupyterlab/lsp';
import type * as lsProtocol from 'vscode-languageserver-protocol';
import { VirtualDocument } from './virtual/document';
export declare class PositionConverter {
static lsp_to_cm(position: lsProtocol.Position): IPosition;
static cm_to_lsp(position: IPosition): lsProtocol.Position;
static lsp_to_ce(position: lsProtocol.Position): CodeEditor.IPosition;
static cm_to_ce(position: IPosition): CodeEditor.IPosition;
static ce_to_cm(position: CodeEditor.IPosition): IPosition;
}
/** TODO should it be wrapped into an object? Where should these live? */
export interface IEditorRange {
start: IEditorPosition;
end: IEditorPosition;
editor: CodeEditor.IEditor;
}
export declare function documentAtRootPosition(adapter: WidgetLSPAdapter<any>, position: IRootPosition): VirtualDocument;
export declare function editorAtRootPosition(adapter: WidgetLSPAdapter<any>, position: IRootPosition): Document.IEditor;
export declare function rootPositionToVirtualPosition(adapter: WidgetLSPAdapter<any>, position: IRootPosition): IVirtualPosition;
export declare function rootPositionToEditorPosition(adapter: WidgetLSPAdapter<any>, position: IRootPosition): IEditorPosition;
export declare function editorPositionToRootPosition(adapter: WidgetLSPAdapter<any>, editor: Document.IEditor, position: IEditorPosition): IRootPosition | null;
export declare function rangeToEditorRange(adapter: WidgetLSPAdapter<any>, range: lsProtocol.Range, editor: CodeEditor.IEditor | null, virtualDocument: VirtualDocument): IEditorRange;