mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-11 10:38:11 +08:00
1dc7c03ebd
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
216 lines
4.9 KiB
Text
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
|