[
    // AutoFileName - https://github.com/BoundInCode/AutoFileName
    { "keys": ["tab"], "command": "insert_dimensions", "context":
      [
        { "key": "setting.auto_complete_commit_on_tab" },
        { "key": "auto_complete_visible", "operator": "equal", "operand": true },
        { "key": "afn_insert_dimensions", "operator": "equal", "operand": true }
      ]
    },
    { "keys": ["enter"], "command": "insert_dimensions", "context":
     [
         { "key": "setting.auto_complete_commit_on_tab", "operator": "equal", "operand": false },
         { "key": "auto_complete_visible", "operator": "equal", "operand": true },
         { "key": "afn_insert_dimensions", "operator": "equal", "operand": true }
     ]
    },
    { "keys": ["backspace"], "command": "reload_auto_complete", "context":
     [
         { "key": "afn_deleting_slash", "operator": "equal", "operand": true }
     ]
    },

    //CoffeeComplete Plus (Autocompletion) - https://github.com/justinmahar/SublimeCSAutocompletePlus
    { "keys": ["ctrl+alt+d"], "command": "coffee_goto_definition" },
    { "keys": ["f12"], "command": "coffee_goto_definition" },

    //CoffeeScript (Better) - https://github.com/aponxi/sublime-better-coffeescript
    //not needed - cover by linter
    //{"keys": ["alt+shift+s"], "command": "check_syntax"},
    {"keys": ["alt+shift+r"], "command": "run_script"},
    //{"keys": ["alt+shift+t"], "command": "run_cake_task"},
    {"keys": ["alt+shift+c"], "command": "compile"},
    {"keys": ["alt+shift+d"], "command": "compile_and_display", "args": {"opt": "-p"}},
    //{"keys": ["alt+shift+l"], "command": "compile_and_display", "args": {"opt": "-t"}},
    //{"keys": ["alt+shift+n"], "comand": "compile_and_display", "args": {"opt": "-n"}},
    {"keys": ["alt+shift+w"], "command": "toggle_watch"},
    //{"keys": ["alt+shift+z"], "command": "toggle_output_panel"},

    //DocBlockr - https://github.com/spadgos/sublime-jsdocs
    //large keymap, should be pulled in automatically

    //Emmet - https://github.com/sergeche/emmet-sublime
    //Many other bindings should be picked up as defaults
    {"keys": ["ctrl+alt+enter"],"command": "expand_as_you_type",
      "context": [
        {"operand": false, "operator": "equal", "match_all": true, "key": "setting.is_widget"},
        {"match_all": true, "key": "emmet_action_enabled.expand_as_you_type"}
      ]
    },

    //Hayaku - https://github.com/hayaku/hayaku
    //Like Emmet, many others defined should be picked up automatically
    {
        "keys": ["tab"],"command": "hayaku", "context": [{"key": "hayaku_css_context"}]
    },

    //HttpRequester - https://github.com/braindamageinc/SublimeHttpRequester
    {
        "keys": ["ctrl+alt+r"], "command": "http_requester"
    },
    // {
    //     "keys": ["f5"], "command": "http_requester_refresh"
    // },

    //PrettyJSON - https://github.com/dzhibas/SublimePrettyJson
    { "keys": ["ctrl+alt+j"], "command": "prettyjson" },

    //SublimeLinter - https://github.com/SublimeLinter/SublimeLinter
    { "keys": ["ctrl+alt+l"], "command": "sublimelinter", "args": {"action": "lint"} },
    { "keys": ["ctrl+alt+e"], "command": "find_next_lint_error" },
    { "keys": ["ctrl+alt+shift+e"], "command": "find_previous_lint_error" },

    //Tag - https://github.com/SublimeText/Tag
    {"keys": ["/"], "command": "tag_close_tag_on_slash",
      "context": [
        { "key": "preceding_text", "operator": "regex_contains", "operand": "<$", "match_all": true},
        { "key": "setting.is_widget", "operator": "equal", "operand": false }
    ]},
    { "keys": ["ctrl+shift+,"], "command": "tag_insert_as_tag" },
    { "keys": ["alt+."], "command": "tag_close_tag" },

    //Simple helpers for Snippet Binding
    { "keys": ["shift+f2"], "command": "show_overlay",
        "args": {"overlay": "command_palette", "text": "Bootstrap"} },
    { "keys": ["shift+f3"], "command": "show_overlay",
        "args": {"overlay": "command_palette", "text": "Ng "} }
]
