code: function getListTemplateData(args, context) {
    var matchingCommands = canon.getCommands().filter(function(command) {
      if (command.hidden) {
        return false;
      }
  
      if (args.search && command.name.indexOf(args.search) !== 0) {
        // Filtered out because they don't match the search
        return false;
      }
      if (!args.search && command.name.indexOf(' ') != -1) {
        // We don't show sub commands with plain 'help'
        return false;
      }
      return true;
    });
    matchingCommands.sort(function(c1, c2) {
      return c1.name.localeCompare(c2.name);
    });
  
    var heading;
    if (matchingCommands.length === 0) {
      heading = l10n.lookupFormat('helpListNone', [ args.search ]);
    }
    else if (args.search == null) {
      heading = l10n.lookup('helpListAll');
    }
    else {
      heading = l10n.lookupFormat('helpListPrefix', [ args.search ]);
    }
  
    return {
      l10n: l10n.propertyLookup,
      includeIntro: args.search == null,
      matchingCommands: matchingCommands,
      heading: heading,
  
      onclick: function(ev) {
        util.updateCommand(ev.currentTarget, context);
      },
  
      ondblclick: function(ev) {
        util.executeCommand(ev.currentTarget, context);
      }
    };
  }
docs: Create a block of data suitable to be passed to the help_list.html template