docs: function(selection, mainTemplate, suggestionsTemplate) {
  
    selection = defaults({}, selection, {
      isMisspelled: false,
      spellingSuggestions: []
    });
  
    var template = getTemplate(mainTemplate, DEFAULT_MAIN_TPL);
    var suggestionsTpl = getTemplate(suggestionsTemplate, DEFAULT_SUGGESTIONS_TPL);
  
    if (selection.isMisspelled) {
      var suggestions = selection.spellingSuggestions;
      if (isEmpty(suggestions)) {
        template.unshift.apply(template, suggestionsTpl);
      } else {
        template.unshift.apply(template, suggestions.map(function(suggestion) {
          return {
            label: suggestion,
            click: function() {
              BrowserWindow.getFocusedWindow().webContents.replaceMisspelling(suggestion);
            }
          };
        }).concat({
          type: 'separator'
        }));
      }
    }
  
    return Menu.buildFromTemplate(template);
  }