window.PagedownCustom = {
  insertButtons: [
    {
      id: 'wmd-quote-post',
      description: I18n.t("composer.quote_post_title"),
      execute: function() {
        // AWFUL but I can't figure out how to call a controller method from outside our app
        return Discourse.__container__.lookup('controller:composer').send('importQuote');
      }
    }
  ],

  customActions: {
    "doBlockquote": function(chunk, postProcessing, oldDoBlockquote) {

      // When traditional linebreaks are set, use the default Pagedown implementation
      if (Discourse.SiteSettings.traditional_markdown_linebreaks) {
        return oldDoBlockquote.call(this, chunk, postProcessing);
      }

      // Our custom blockquote for non-traditional markdown linebreaks
      var result = [];
      chunk.selection.split(/\n/).forEach(function (line) {
        var newLine = "";
        if (line.indexOf("> ") === 0) {
          newLine += line.substr(2);
        } else {
          if (/\S/.test(line)) { newLine += "> " + line; }
        }
        result.push(newLine);
      });
      chunk.selection = result.join("\n");

    }
  }
};
