@jupyter-lsp/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
46 lines (45 loc) • 1.92 kB
TypeScript
import { ReadonlyJSONObject, ReadonlyJSONValue } from '@lumino/coreutils';
export declare function sleep(timeout: number): Promise<void>;
export type ModifierKey = 'Shift' | 'Alt' | 'AltGraph' | 'Control' | 'Meta' | 'Accel';
/**
* CodeMirror-proof implementation of event.getModifierState()
*/
export declare function getModifierState(event: MouseEvent | KeyboardEvent, modifierKey: ModifierKey): boolean;
export declare class DefaultMap<K, V> extends Map<K, V> {
private defaultFactory;
constructor(defaultFactory: (...args: any[]) => V, entries?: ReadonlyArray<readonly [K, V]> | null);
get(k: K): V;
getOrCreate(k: K, ...args: any[]): V;
}
/**
* compare two URIs, discounting:
* - drive capitalization
* - uri encoding
* TODO: probably use vscode-uri
*/
export declare function urisEqual(a: string, b: string): boolean;
/**
* grossly detect whether a URI represents a file on a windows drive
*/
export declare function isWinPath(uri: string): RegExpMatchArray | null;
/**
* lowercase the drive component of a URI
*/
export declare function normalizeWinPath(uri: string): string;
export declare function uriToContentsPath(child: string, parent?: string): string | null;
/**
* The docs for many language servers show settings in the
* VSCode format, e.g.: "pyls.plugins.pyflakes.enabled"
*
* VSCode converts that dot notation to JSON behind the scenes,
* as the language servers themselves don't accept that syntax.
*/
export declare const expandPath: (path: string[], value: ReadonlyJSONValue) => ReadonlyJSONObject;
export declare const expandDottedPaths: (obj: ReadonlyJSONObject) => ReadonlyJSONObject;
interface ICollapsingResult {
result: Record<string, ReadonlyJSONValue>;
conflicts: Record<string, any[]>;
}
export declare function collapseToDotted(obj: ReadonlyJSONObject): ICollapsingResult;
export declare function escapeMarkdown(text: string): string;
export {};