Mailspring/keymaps/base.cson
Ben Gotow 1dc7c03ebd fix(contact-chips): Contact chips are editable and have much better style
Summary:
The TokenizingTextField has several new optional props, including onEdit, which enables
editing of the tokens and tokenIsInvalid, which allows you to make tokens red, while still
accepting them as tokens.

When you go to send a message with invalid recipients it won't let you until you remove/
edit them.

Hotloading

Edit chips, keymappings not through command registry, 7 new tests for editing chips

Test Plan: Run 7 new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1825
2015-08-03 13:06:28 -07:00

216 lines
4.9 KiB
Text

# Email-specific core key-mappings
#
# There are additional mappings in <platform>.cson files that bind
# menu items. In the future, we should break these into files like:
# darwin-gmail.cson, darwin-macmail.cson, win32-gmail.cson...
'body':
'c' : 'application:new-message' # Gmail
'/' : 'application:focus-search' # Gmail
'r' : 'application:reply' # Gmail
'R' : 'application:reply-all' # Nylas Mail
'a' : 'application:reply-all' # Gmail
'f' : 'application:forward' # Gmail
'l' : 'application:change-category' # Gmail
'escape': 'application:pop-sheet'
'u' : 'application:pop-sheet' # Gmail
'k' : 'core:previous-item' # Gmail
'up' : 'core:previous-item' # Mac mail
'j' : 'core:next-item' # Gmail
'down' : 'core:next-item' # Mac mail
']' : 'core:remove-and-previous' # Gmail
'[' : 'core:remove-and-next' # Gmail
'e' : 'core:remove-item' # Gmail
's' : 'core:star-item' #Gmail
'cmd-L' : 'core:star-item' # Mac mail
'ctrl-G' : 'core:star-item' # Outlook
'delete' : 'core:remove-item' # Mac mail
'backspace': 'core:remove-item' # Outlook
'enter' : 'core:focus-item'
'x' : 'core:select-item'
# Default cross-platform core behaviors
'left': 'core:move-left'
'right': 'core:move-right'
'shift-up': 'core:select-up'
'shift-down': 'core:select-down'
'shift-left': 'core:select-left'
'shift-right': 'core:select-right'
'shift-pageup': 'core:select-page-up'
'shift-pagedown': 'core:select-page-down'
'delete': 'core:delete'
'shift-delete': 'core:cut'
# Inputs are native by default.
# Also make sure not to catch anything intended for a webview
'body input, body textarea, body *[contenteditable], body webview':
'up': 'native!'
'left': 'native!'
'down': 'native!'
'right': 'native!'
'cmd-up': 'native!'
'cmd-left': 'native!'
'cmd-down': 'native!'
'cmd-right': 'native!'
'ctrl-up': 'native!'
'ctrl-left': 'native!'
'ctrl-down': 'native!'
'ctrl-right': 'native!'
'shift-up': 'native!'
'shift-left': 'native!'
'shift-down': 'native!'
'shift-right': 'native!'
'escape': 'native!'
'pageup': 'native!'
'pagedown': 'native!'
'shift-pageup': 'native!'
'shift-pagedown': 'native!'
'enter': 'native!'
'cmd-enter': 'native!'
'ctrl-enter': 'native!'
'shift-enter': 'native!'
'backspace': 'native!'
'shift-backspace': 'native!'
'delete': 'native!'
'shift-delete': 'native!'
'cmd-y': 'native!'
'cmd-z': 'native!'
'cmd-Z': 'native!'
'cmd-x': 'native!'
'cmd-X': 'native!'
'cmd-c': 'native!'
'cmd-C': 'native!'
'cmd-v': 'native!'
'cmd-V': 'native!'
'cmd-a': 'native!'
'cmd-A': 'native!'
'cmd-b': 'native!'
'cmd-i': 'native!'
'cmd-u': 'native!'
'ctrl-y': 'native!'
'ctrl-z': 'native!'
'ctrl-Z': 'native!'
'ctrl-x': 'native!'
'ctrl-X': 'native!'
'ctrl-c': 'native!'
'ctrl-C': 'native!'
'ctrl-v': 'native!'
'ctrl-V': 'native!'
'ctrl-a': 'native!'
'ctrl-A': 'native!'
'ctrl-b': 'native!'
'ctrl-i': 'native!'
'ctrl-u': 'native!'
'a': 'native!'
'b': 'native!'
'c': 'native!'
'd': 'native!'
'e': 'native!'
'f': 'native!'
'g': 'native!'
'h': 'native!'
'i': 'native!'
'j': 'native!'
'k': 'native!'
'l': 'native!'
'm': 'native!'
'n': 'native!'
'o': 'native!'
'p': 'native!'
'q': 'native!'
'r': 'native!'
's': 'native!'
't': 'native!'
'u': 'native!'
'v': 'native!'
'w': 'native!'
'x': 'native!'
'y': 'native!'
'z': 'native!'
'A': 'native!'
'B': 'native!'
'C': 'native!'
'D': 'native!'
'E': 'native!'
'F': 'native!'
'G': 'native!'
'H': 'native!'
'I': 'native!'
'J': 'native!'
'K': 'native!'
'L': 'native!'
'M': 'native!'
'N': 'native!'
'O': 'native!'
'P': 'native!'
'Q': 'native!'
'R': 'native!'
'S': 'native!'
'T': 'native!'
'U': 'native!'
'V': 'native!'
'W': 'native!'
'X': 'native!'
'Y': 'native!'
'Z': 'native!'
'1': 'native!'
'2': 'native!'
'3': 'native!'
'4': 'native!'
'5': 'native!'
'6': 'native!'
'7': 'native!'
'8': 'native!'
'9': 'native!'
'0': 'native!'
'~': 'native!'
'!': 'native!'
'@': 'native!'
'#': 'native!'
'$': 'native!'
'%': 'native!'
'^': 'native!'
'&': 'native!'
'*': 'native!'
'(': 'native!'
')': 'native!'
'-': 'native!'
'_': 'native!'
'=': 'native!'
'+': 'native!'
'[': 'native!'
'{': 'native!'
']': 'native!'
'}': 'native!'
'\\': 'native!'
'|': 'native!'
';': 'native!'
':': 'native!'
'\'': 'native!'
'"': 'native!'
'<': 'native!'
',': 'native!'
'>': 'native!'
'.': 'native!'
'?': 'native!'
'/': 'native!'
'body input, body textarea, body *[contenteditable]':
'tab': 'core:focus-next'
'shift-tab': 'core:focus-previous'
'body webview':
'tab': 'native!'
'shift-tab': 'native!'
# For menus
'body .menu, body .menu, body .menu input':
# and by "native!" I actually mean for it to just let React deal with
# it.
'tab': 'native!'
'shift-tab': 'native!'
# Tokenizing Text fields