UNPKG

@jupyter-lsp/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

24 lines (23 loc) 1.72 kB
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;