@@ -1508,6 +1508,7 @@ function setupDebugControls() {
15081508 $ ( "#item_addfile_link" ) . click ( _addLinkFile ) ;
15091509 $ ( "#item_request_persist" ) . click ( ( ) => requestPersistPermission ( true , false ) ) ;
15101510 $ ( "#item_settings" ) . click ( openSettings ) ;
1511+ $ ( "#item_keyboard_shortcuts" ) . click ( openKeyboardShortcuts ) ;
15111512 updateDebugWindows ( ) ;
15121513 // code analyzer?
15131514 if ( platform . newCodeAnalyzer ) {
@@ -1533,6 +1534,41 @@ function setupDebugControls() {
15331534 }
15341535}
15351536
1537+ function openKeyboardShortcuts ( ) {
1538+ const isMac = / M a c | i P h o n e | i P a d / . test ( navigator . platform ) ;
1539+ const mod = isMac ? '⌘' : 'Ctrl' ;
1540+ const alt = isMac ? '⌥' : 'Alt' ;
1541+ const shift = isMac ? '⇧' : 'Shift' ;
1542+ const shortcut = ( keys : string , desc : string ) =>
1543+ `<tr><td><kbd>${ keys } </kbd></td><td>${ desc } </td></tr>` ;
1544+ bootbox . dialog ( {
1545+ title : "Keyboard shortcuts" ,
1546+ onEscape : true ,
1547+ message : `
1548+ <table class="keyboard-shortcuts">
1549+ <tr><th colspan="2">Custom</th></tr>
1550+ ${ shortcut ( `${ shift } +${ alt } +F` , 'Format document, or selected range(s)' ) }
1551+ ${ shortcut ( 'Tab' , 'Insert to next tab stop, or indent selected range(s)' ) }
1552+ ${ shortcut ( `${ shift } +Tab` , 'Outdent line(s) or selected range(s)' ) }
1553+ ${ shortcut ( `Enter` , 'Insert newline, keep cursor at same column pos' ) }
1554+ <tr><th colspan="2">Standard</th></tr>
1555+ <tr>
1556+ <td>Built-in</td>
1557+ <td>
1558+ Included CodeMirror shortcuts:<br>
1559+ <a target="_blank" href="https://codemirror.net/docs/ref/#commands.defaultKeymap">defaultKeymap</a>,
1560+ <a target="_blank" href="https://codemirror.net/docs/ref/#commands.standardKeymap">standardKeymap</a>,
1561+ <a target="_blank" href="https://codemirror.net/docs/ref/#commands.historyKeymap">historyKeymap</a>,
1562+ <a target="_blank" href="https://codemirror.net/docs/ref/#search.searchKeymap">searchKeymap</a>
1563+ </td>
1564+ </tr>
1565+ </table>` ,
1566+ buttons : {
1567+ ok : { label : "OK" , className : "btn-primary" }
1568+ }
1569+ } ) ;
1570+ }
1571+
15361572function setupReplaySlider ( ) {
15371573 var replayslider = $ ( "#replayslider" ) ;
15381574 var clockslider = $ ( "#clockslider" ) ;
0 commit comments