code: function()
    {
      var _this = this,
          opts = _this.opts,
          code = _this.code,
          matches = _this.matches,
          classes = ['syntaxhighlighter'],
          lineNumbers,
          gutter,
          html
          ;
  
      if (opts.collapse === true)
        classes.push('collapsed');
  
      gutter = opts.gutter !== false;
  
      if (!gutter)
        classes.push('nogutter');
  
      // add custom user style name
      classes.push(opts.className);
  
      // add brush alias to the class name for custom CSS
      classes.push(opts.brush);
  
      if (gutter)
        lineNumbers = _this.figureOutLineNumbers(code);
  
      // processes found matches into the html
      html = _this.getMatchesHtml(code, matches);
  
      // finally, split all lines so that they wrap well
      html = _this.getCodeLinesHtml(html, lineNumbers);
  
      // finally, process the links
      if (opts.autoLinks)
        html = _this.processUrls(html);
  
      html = `
        <div class="${classes.join(' ')}">
          <table border="0" cellpadding="0" cellspacing="0">
            ${_this.getTitleHtml(opts.title)}
            <tbody>
              <tr>
                ${gutter ? `<td class="gutter">${_this.renderLineNumbers(code)}</td>` : ``}
                <td class="code">
                  <div class="container">${html}</div>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      `;
  
      return html;
    }
docs: Generates HTML markup for the whole syntax highlighter.
  @param {String} code Source code.
  @return {String} Returns HTML markup.