{
    "description": "Provides the command line user interface",
    "dependencies": {
        "canon": "0.0.0",
        "keyboard": "0.0.0",
        "types": "0.0.0",
        "settings": "0.0.0",
        "diff": "0.0.0",
        "matcher": "0.0.0",
        "templater": "0.0.0",
        "theme_manager_base": "0.0.0"
    },
    "provides": [
        {
            "ep": "themestyles",
            "url": [
                "article.less",
                "cli.less",
                "menu.less",
                "requestOutput.less",
                "global.less"
            ]
        },
        {
            "ep": "themevariable",
            "name": "bg",
            "defaultValue": "@global_container_background"
        },
        {
            "ep": "themevariable",
            "name": "input_bg_light",
            "defaultValue": "@global_container_background + #090807"
        },
        {
            "ep": "themevariable",
            "name": "input_bg",
            "defaultValue": "@global_container_background - #030303"
        },
        {
            "ep": "themevariable",
            "name": "input_bg2",
            "defaultValue": "@global_container_background - #050506"
        },
        {
            "ep": "themevariable",
            "name": "border_fg",
            "defaultValue": "@global_menu_inset_color_top_left"
        },
        {
            "ep": "themevariable",
            "name": "border_fg2",
            "defaultValue": "@global_menu_inset_color_right"
        },
        {
            "ep": "themevariable",
            "name": "menu_bg",
            "defaultValue": "@global_menu_background"
        },
        {
            "ep": "themevariable",
            "name": "border_bg",
            "defaultValue": "@global_menu_border_color"
        },
        {
            "ep": "themevariable",
            "name": "text",
            "defaultValue": "@global_color"
        },
        {
            "ep": "themevariable",
            "name": "hi_text",
            "defaultValue": "@global_header_color"
        },
        {
            "ep": "themevariable",
            "name": "lo_text",
            "defaultValue": "@global_hint_color"
        },
        {
            "ep": "themevariable",
            "name": "lo_text2",
            "defaultValue": "@global_hint_color"
        },
        {
            "ep": "themevariable",
            "name": "link_text",
            "defaultValue": "@global_link_color"
        },
        {
            "ep": "themevariable",
            "name": "error_text",
            "defaultValue": "@global_error_color"
        },
        {
            "ep": "themevariable",
            "name": "theme_text",
            "defaultValue": "@global_selectable_hover_background"
        },
        {
            "ep": "themevariable",
            "name": "theme_text_light",
            "defaultValue": "rgb(255,206,0)",
            "comment": "#FFCE00"
        },
        {
            "ep": "themevariable",
            "name": "theme_text_dark",
            "defaultValue": "@global_selectable_hover_background - #222000"
        },
        {
            "ep": "themevariable",
            "name": "theme_text_dark2",
            "defaultValue": "@global_accelerator_color"
        },
        {
            "ep": "themevariable",
            "name": "input_submenu",
            "defaultValue": "rgb(14,9,6)",
            "comment": "#0E0906"
        },
        {
            "ep": "themevariable",
            "name": "fonts",
            "defaultValue": "@global_font"
        },
        {
            "ep": "themevariable",
            "name": "li_hover_color",
            "defaultValue": "@global_selectable_hover_color"
        },
        {
            "ep": "themevariable",
            "name": "li_hint_hover_color",
            "defaultValue": "@global_hint_hover_color"
        },
        {
            "ep": "themevariable",
            "name": "li_accelerator_hover_color",
            "defaultValue": "@global_accelerator_hover_color"
        },
        {
            "ep": "factory",
            "name": "commandLine",
            "action": "new",
            "pointer": "views/cli#CliInputView"
        },
        {
            "ep": "appcomponent",
            "name": "command_line",
            "pointer": "views/cli#CliInputView"
        },
        {
            "ep": "setting",
            "name": "historyTimeMode",
            "description": "Display number|date|none next to each historical instruction",
            "type": { "name": "selection", "data": [ "number", "date", "none" ] },
            "defaultValue": "none"
        },
        {
            "ep": "setting",
            "name": "minConsoleHeight",
            "description": "The maximum size (in pixels) for the command line output area",
            "type": "number",
            "defaultValue": 0
        },
        {
            "ep": "setting",
            "name": "maxConsoleHeight",
            "description": "The minimum size (in pixels) for the command line output area",
            "type": "number",
            "defaultValue": 300
        },
        {
            "ep": "command",
            "name": "complete",
            "predicates": { "isCommandLine": true, "isKeyUp": false },
            "key": "tab",
            "pointer": "commands/simple#completeCommand"
        },
        {
            "ep": "command",
            "name": "menu1",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_1",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu2",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_2",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu1",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_1",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu3",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_3",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu4",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_4",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu5",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_5",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu6",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_6",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu7",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_7",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu8",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_8",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu9",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_9",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "menu0",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "alt_0",
            "pointer": "views/menu#activateItemAction"
        },
        {
            "ep": "command",
            "name": "help",
            "params": [
                {
                    "name": "search",
                    "type": "text",
                    "description": "Search string to narrow the output.",
                    "defaultValue": null
                }
            ],
            "description": "Get help on the available commands.",
            "pointer": "commands/simple#helpCommand"
        },
        {
            "ep": "command",
            "name": "alias",
            "params": [
                {
                    "name": "alias",
                    "type": "text",
                    "description": "optionally, your alias name",
                    "defaultValue": null
                },
                {
                    "name": "command",
                    "type": "text",
                    "description": "optionally, the command name",
                    "defaultValue": null
                }
            ],
            "description": "define and show aliases for commands",
            "pointer": "commands/simple#aliasCommand"
        },
        {
            "ep": "command",
            "name": "eval",
            "params": [
                {
                    "name": "javascript",
                    "type": "text",
                    "description": "The JavaScript to evaluate"
                }
            ],
            "description": "evals given js code and show the result",
            "hidden": true,
            "pointer": "commands/basic#evalCommand"
        },
        {
            "ep": "command",
            "name": "version",
            "description": "show the Bespin version",
            "hidden": true,
            "pointer": "commands/basic#versionCommand"
        },
        {
            "ep": "command",
            "name": "bespin",
            "description": "has",
            "hidden": true,
            "pointer": "commands/basic#bespinCommand"
        },
        {
            "ep": "command",
            "name": "historyPrevious",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "up",
            "pointer": "commands/history#historyPreviousCommand"
        },
        {
            "ep": "command",
            "name": "historyNext",
            "predicates": { "isCommandLine": true, "isKeyUp": true },
            "key": "down",
            "pointer": "commands/history#historyNextCommand"
        },
        {
            "ep": "command",
            "name": "history",
            "description": "Show history of the commands",
            "pointer": "commands/history#historyCommand",
            "params": []
        },
        {
            "ep": "addedRequestOutput",
            "pointer": "commands/history#addedRequestOutput"
        },
        {
            "ep": "extensionpoint",
            "name": "typehint",
            "description": "A function to allow the command line to show a hint to the user on how they should finish what they're typing",
            "indexOn": "name"
        },
        {
            "ep": "typehint",
            "name": "selection",
            "description": "A UI for string that is constrained to be one of a number of pre-defined values",
            "pointer": "views/basic#selection"
        },
        {
            "ep": "typehint",
            "name": "boolean",
            "description": "A UI for a boolean",
            "pointer": "views/basic#bool"
        }
    ]
}
