UNPKG

@jupyter-lsp/jupyterlab-lsp

Version:

Language Server Protocol integration for JupyterLab

58 lines (57 loc) 3.06 kB
import { Language } from '@codemirror/language'; import { ChangeSet } from '@codemirror/state'; import { JupyterFrontEndPlugin } from '@jupyterlab/application'; import { IEditorLanguageRegistry } from '@jupyterlab/codemirror'; import { IEditorPosition, IRootPosition, WidgetLSPAdapter } from '@jupyterlab/lsp'; 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 { FeatureSettings, Feature } from '../feature'; import { ILogConsoleCore } from '../tokens'; import { BrowserConsole } from '../virtual/console'; 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: Language | undefined, codeHighlighter: (source: string, variable: lsProtocol.ParameterInformation, language: Language | undefined) => string, logger: ILogConsoleCore, activeParameterFallback?: number | null, maxLinesBeforeCollapse?: number): string; export declare function highlightCode(source: string, parameter: lsProtocol.ParameterInformation, language: Language | undefined): string; export declare class SignatureFeature extends Feature { readonly id: string; readonly capabilities: lsProtocol.ClientCapabilities; tooltip: EditorTooltipManager; protected signatureCharacter: IRootPosition; protected _signatureCharacters: string[]; protected console: BrowserConsole; protected settings: FeatureSettings<LSPSignatureSettings>; protected languageRegistry: IEditorLanguageRegistry; constructor(options: SignatureFeature.IOptions); get _closeCharacters(): string[]; onBlur(event: FocusEvent): void; onCursorActivity(adapter: WidgetLSPAdapter<any>, newEditorPosition: IEditorPosition): Promise<void>; protected getMarkupForSignatureHelp(response: lsProtocol.SignatureHelp, language: Language | undefined): lsProtocol.MarkupContent; /** * Represent signature as a Markdown element. */ protected signatureToMarkdown(item: lsProtocol.SignatureInformation, language: Language | undefined, activeParameterFallback?: number | null): string; private _removeTooltip; private _hideTooltip; private handleSignature; protected isSignatureShown(): boolean; afterChange(change: ChangeSet, adapter: WidgetLSPAdapter<any>, editorPosition: IEditorPosition): Promise<void>; private _requestSignature; } export declare namespace SignatureFeature { interface IOptions extends Feature.IOptions { settings: FeatureSettings<LSPSignatureSettings>; renderMimeRegistry: IRenderMimeRegistry; languageRegistry: IEditorLanguageRegistry; } const id: string; } export declare const SIGNATURE_PLUGIN: JupyterFrontEndPlugin<void>; export {};