@krassowski/jupyterlab-lsp
Version:
Language Server Protocol integration for JupyterLab
52 lines (51 loc) • 2.79 kB
TypeScript
import { JupyterFrontEnd, JupyterFrontEndPlugin } from '@jupyterlab/application';
import { ICodeMirror } from '@jupyterlab/codemirror';
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
import * as lsProtocol from 'vscode-languageserver-protocol';
import { CodeSignature as LSPSignatureSettings } from '../_signature';
import { EditorTooltipManager } from '../components/free_tooltip';
import { CodeMirrorIntegration } from '../editor_integration/codemirror';
import { FeatureSettings, IFeatureLabIntegration } from '../feature';
import { IRootPosition } from '../positioning';
import { ILogConsoleCore } from '../tokens';
import { CodeMirrorVirtualEditor } from '../virtual/codemirror_editor';
import { IEditorChange } from '../virtual/editor';
interface ISplit {
lead: string;
remainder: string;
}
export declare function extractLead(lines: string[], size: number): ISplit | null;
/**
* Represent signature as a Markdown element.
*/
export declare function signatureToMarkdown(item: lsProtocol.SignatureInformation, language: string | undefined, codeHighlighter: (source: string, variable: string, language: string) => string, logger: ILogConsoleCore, activeParameterFallback?: number | null, maxLinesBeforeCollapse?: number): string;
export declare class SignatureCM extends CodeMirrorIntegration {
protected signatureCharacter: IRootPosition;
protected _signatureCharacters: string[];
get settings(): FeatureSettings<LSPSignatureSettings>;
get _closeCharacters(): string[];
register(): void;
onBlur(virtualEditor: CodeMirrorVirtualEditor, event: FocusEvent): void;
onCursorActivity(): void;
get lab_integration(): SignatureLabIntegration;
protected get_markup_for_signature_help(response: lsProtocol.SignatureHelp, language?: string): lsProtocol.MarkupContent;
protected highlightCode(source: string, variable: string, language: string): string;
/**
* Represent signature as a Markdown element.
*/
protected signatureToMarkdown(item: lsProtocol.SignatureInformation, language: string, activeParameterFallback?: number | null): string;
private _hideTooltip;
private handleSignature;
get signatureCharacters(): string[];
protected isSignatureShown(): boolean;
afterChange(change: IEditorChange, root_position: IRootPosition): void;
private requestSignature;
}
declare class SignatureLabIntegration implements IFeatureLabIntegration {
codeMirror: ICodeMirror;
tooltip: EditorTooltipManager;
settings: FeatureSettings<LSPSignatureSettings>;
constructor(app: JupyterFrontEnd, settings: FeatureSettings<LSPSignatureSettings>, renderMimeRegistry: IRenderMimeRegistry, codeMirror: ICodeMirror);
}
export declare const SIGNATURE_PLUGIN: JupyterFrontEndPlugin<void>;
export {};