{
    "description": "Provides the command line user interface",
    "dependencies": {
        "canon": "0.0",
        "types": "0.0",
        "settings": "0.0",
        "diff": "0.0",
        "matcher": "0.0"   
    },
    "provides":
    [
        {
            "ep": "appcomponent",
            "name": "command_line",
            "pointer": "views/cli#CliInputView"
        },
        {
            "ep": "factory",
            "name": "clicontroller",
            "description": "The controller for the command line",
            "pointer": "controller#cliController",
            "action": "value"
        },
        {
            "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#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#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#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": "basiccommands#evalCommand"
        },
        {
            "ep": "command",
            "name": "version",
            "description": "show the Bespin version",
            "hidden": true,
            "pointer": "basiccommands#versionCommand"
        },
        {
            "ep": "command",
            "name": "bespin",
            "description": "has",
            "hidden": true,
            "pointer": "basiccommands#bespinCommand"
        },
        {
            "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"
        }
    ]
}
