Expanding a bit on this proposal:
JSON-style key bindings:
{ "keys": ["ctrl+shift+n"], "command": "new_window" },
{ "keys": ["ctrl+shift+w"], "command": "close_window" },
{ "keys": ["ctrl+o"], "command": "prompt_open_file" },
{ "keys": ["ctrl+shift+t"], "command": "reopen_last_file" },
{ "keys": ["alt+o"], "command": "switch_file", "args": {"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "hh", "h", "ipp", "inl", "m", "mm"]} },
{ "keys": ["ctrl+n"], "command": "new_file" },
Minimal-style key bindings (with most punctuation eliminated), where:
*format; *key; *command; *argument(s) // default slots separated by semicolons
keys; ctrl+shift+n; new_window
keys; ctrl+shift+w; close_window
keys: ctrl+o; prompt_open_file
keys; ctrl+shift+t; reopen_last_file
keys; alt+o; switch_file; extensions: cpp, cxx, cc, c, hpp, hxx, hh, h, ipp, inl, m, mm
keys; ctrl+n; new_file