/*\ title: $:/core/modules/macros/displayshortcuts.js type: application/javascript module-type: macro Macro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes. \*/ (function(){ /*jslint node: true, browser: true */ /*global $tw: false */ "use strict"; /* Information about this macro */ exports.name = "displayshortcuts"; exports.params = [ {name: "shortcuts"}, {name: "prefix"}, {name: "separator"}, {name: "suffix"} ]; /* Run the macro */ exports.run = function(shortcuts,prefix,separator,suffix) { var shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{ wiki: this.wiki })); if(shortcutArray.length > 0) { shortcutArray.sort(function(a,b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }) return prefix + shortcutArray.join(separator) + suffix; } else { return ""; } }; })();