Module Vscode.Window

val activeTextEditor : unit -> TextEditor.t option
val visibleTextEditors : unit -> TextEditor.t list
val onDidChangeActiveTextEditor : unit -> TextEditor.t Event.t
val onDidChangeTextEditorSelection : unit -> TextEditorSelectionChangeEvent.t Event.t
val onDidChangeVisibleTextEditors : unit -> TextEditor.t list Event.t
val terminals : unit -> Terminal.t Stdlib.List.t
val activeTerminal : unit -> Terminal.t option
val onDidChangeActiveTerminal : unit -> Terminal.t option Event.t
val onDidOpenTerminal : unit -> Terminal.t Event.t
val onDidCloseTerminal : unit -> Terminal.t Event.t
val showTextDocument : document:[ `TextDocument of TextDocument.t | `Uri of Uri.t ] -> ?column:ViewColumn.t -> ?preserveFocus:bool -> unit -> TextEditor.t Promise.t
val showInformationMessage : message:string -> ?options:MessageOptions.t -> ?choices:(string * 'a) list -> unit -> 'a option Promise.t
val showWarningMessage : message:string -> ?options:MessageOptions.t -> ?choices:(string * 'a) list -> unit -> 'a option Promise.t
val showErrorMessage : message:string -> ?options:MessageOptions.t -> ?choices:(string * 'a) list -> unit -> 'a option Promise.t
val showQuickPickItems : choices:(QuickPickItem.t * 'a) list -> ?options:QuickPickOptions.t -> ?token:CancellationToken.t -> unit -> 'a option Promise.t
val showQuickPick : items:string list -> ?options:QuickPickOptions.t -> ?token:CancellationToken.t -> unit -> string option Promise.t
val showInputBox : ?options:InputBoxOptions.t -> ?token:CancellationToken.t -> unit -> string option Promise.t
val createOutputChannel : name:string -> OutputChannel.t
val setStatusBarMessage : text:string -> ?hide:[ `AfterTimeout of int ] -> unit -> Disposable.t
val withProgress : 'a Interop.Js.t -> options:ProgressOptions.t -> task:(progress:Progress.t -> token:CancellationToken.t -> 'a Promise.t) -> 'a Promise.t
val createStatusBarItem : ?alignment:StatusBarAlignment.t -> ?priority:int -> unit -> StatusBarItem.t
val createTextEditorDecorationType : options:Ojs.t -> TextEditorDecorationType.t
val createTerminal : ?name:string -> ?shellPath:string -> ?shellArgs:[ `String of string | `Strings of string list ] -> unit -> Terminal.t
val createTerminalFromOptions : options: [ `TerminalOptions of TerminalOptions.t | `ExtensionTerminalOptions of ExtensionTerminalOptions.t ] -> Terminal.t
val registerTreeDataProvider : 'a Interop.Js.t -> viewId:string -> treeDataProvider:'a TreeDataProvider.t -> Disposable.t
val createTreeView : 'a Interop.Js.t -> viewId:string -> options:'a TreeViewOptions.t -> 'a TreeView.t
val createWebviewPanel : viewType:string -> title:string -> showOptions:ViewColumn.t -> WebviewPanel.t
val registerCustomTextEditorProvider : viewType:string -> provider:CustomTextEditorProvider.t -> ?options:RegisterCustomEditorProviderOptions.t -> unit -> Disposable.t
val registerCustomReadonlyEditorProvider : (module CustomDocument.T with type t = 'a) -> viewType:string -> provider:'a CustomReadonlyEditorProvider.t -> ?options:RegisterCustomEditorProviderOptions.t -> unit -> Disposable.t