From 09f626ff05604063a6d31e978d17b81de576f18e Mon Sep 17 00:00:00 2001 From: Fyodor Soikin Date: Sat, 15 Jul 2017 10:13:21 -0400 Subject: [PATCH] Fill in missing parts in VSCode import. Related to #12. --- VSCode/Fable.Import.VSCode.fs | 42 +++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/VSCode/Fable.Import.VSCode.fs b/VSCode/Fable.Import.VSCode.fs index 668e6fd..d2ba1ed 100644 --- a/VSCode/Fable.Import.VSCode.fs +++ b/VSCode/Fable.Import.VSCode.fs @@ -6,6 +6,8 @@ open Fable.Core open Fable.Import.JS module vscode = + let [] version: string = jsNative + type Command = abstract title: string with get, set abstract command: string with get, set @@ -237,6 +239,16 @@ module vscode = [] abstract Invoke: listener: Func<'T, obj> * ?thisArgs: obj * ?disposables: ResizeArray -> Disposable and [] EventEmitter<'T>() = + member __.addListener(``event``: string, listener: Function): NodeJS.EventEmitter = jsNative + member __.on(``event``: string, listener: Function): NodeJS.EventEmitter = jsNative + member __.once(``event``: string, listener: Function): NodeJS.EventEmitter = jsNative + member __.removeListener(``event``: string, listener: Function): NodeJS.EventEmitter = jsNative + member __.removeAllListeners(?``event``: string): NodeJS.EventEmitter = jsNative + member __.setMaxListeners(n: int): unit = jsNative + member __.getMaxListeners(): int = jsNative + member __.listeners(``event``: string): ResizeArray = jsNative + member __.listenerCount(``type``: string): int = jsNative + member __.emit(``event``: string, [] args: obj[]): bool = jsNative member __.``event`` with get(): Event<'T> = jsNative and set(v: Event<'T>): unit = jsNative member __.fire(?data: 'T): unit = jsNative member __.dispose(): unit = jsNative @@ -293,7 +305,7 @@ module vscode = U3>> and ProviderResult<'T> = - U3<'T, unit, obj> + U3<'T, unit, PromiseLike>> and CodeActionContext = abstract diagnostics: ResizeArray with get, set @@ -509,6 +521,26 @@ module vscode = abstract provideDocumentLinks: document: TextDocument * token: CancellationToken -> ProviderResult> abstract resolveDocumentLink: link: DocumentLink * token: CancellationToken -> ProviderResult + and TreeDataProvider<'T> = + abstract onDidChangeTreeData: Event<'T> with get + abstract getTreeItem: element:'T -> U2> + abstract getChildren: ?element:'T -> ProviderResult> + + and TreeIconPath = + abstract light: U2 with get, set + abstract dark: U2 with get, set + + and TreeItemCollapsibleState = + | None = 0 + | Collapsed = 1 + | Expanded = 2 + + and [] TreeItem(label: string, ?collapsibleState: TreeItemCollapsibleState) = + abstract label: string with get, set + abstract iconPath: U2 option with get, set + abstract contextValue: string option with get, set + abstract collapsibleState: TreeItemCollapsibleState option with get, set + and CharacterPair = string * string @@ -658,6 +690,10 @@ module vscode = abstract location: ProgressLocation with get, set abstract title: string option with get, set + and ProgressMessage = + abstract message: string option with get,set + abstract percentage: int option with get, set + and TextDocumentContentChangeEvent = abstract range: Range with get, set abstract rangeLength: float with get, set @@ -727,6 +763,8 @@ module vscode = type [] commands = static member registerCommand(command: string, callback: Func, ?thisArg: obj): Disposable = jsNative + static member registerCommand(command: string, callback: Func, ?thisArg: obj): Disposable = jsNative + static member registerCommand(command: string, callback: Func, ?thisArg: obj): Disposable = jsNative static member registerTextEditorCommand(command: string, callback: Func, ?thisArg: obj): Disposable = jsNative static member executeCommand(command: string, [] rest: obj[]): PromiseLike<'T option> = jsNative static member getCommands(?filterInternal: bool): PromiseLike> = jsNative @@ -763,7 +801,7 @@ module vscode = static member setStatusBarMessage(text: string, hideWhenDone: PromiseLike): Disposable = jsNative static member setStatusBarMessage(text: string): Disposable = jsNative static member withScmProgress(task: Func, PromiseLike<'R>>): PromiseLike<'R> = jsNative - static member withProgress(options: ProgressOptions, task: Func, PromiseLike<'R>>): PromiseLike<'R> = jsNative + static member withProgress(options: ProgressOptions, task: Func, PromiseLike<'R>>): PromiseLike<'R> = jsNative static member createStatusBarItem(?alignment: StatusBarAlignment, ?priority: float): StatusBarItem = jsNative static member createTerminal(?name: string, ?shellPath: string, ?shellArgs: ResizeArray): Terminal = jsNative static member createTerminal(options: TerminalOptions): Terminal = jsNative