global record shell execute: function(command: string, ...: string): boolean run: function(...: string): boolean exit: function() dir: function(): string setDir: function(dir: string) path: function(): string setPath: function(path: string) resolve: function(path: string): string resolveProgram: function(command: string): string | nil programs: function(include_hidden: boolean | nil): {string} complete: function(sLine: string): {string} | nil completeProgram: function(program: string): {string} type _CompletionFunction = function( shell: table, index: integer, argument: string, previous: {string} ): {string} | nil setCompletionFunction: function(program: string, complete: _CompletionFunction) record _CompletionInfo fnComplete: function end getCompletionInfo: function(): {string: _CompletionInfo} getRunningProgram: function(): string setAlias: function(command: string, program: string) clearAlias: function(command: string) aliases: function(): {string:string} openTab: function(...: string): integer switchTab: function(id: integer) end