code: function Lexer (options) {
    this.tokens = []
    this.options = options || defaults
    this.rules = block
    if (this.options.gfm) {
      Object.assign(this.rules, block.opts.gfm)
    }
    if (this.options.include) {
      Object.assign(this.rules, block.opts.include)
    }
    if (this.options.numberedheadings) {
      Object.assign(this.rules, block.opts.numberedheadings)
    }
    if (this.options.toc) {
      Object.assign(this.rules, block.opts.toc)
    }
    if (this.options.ref) {
      Object.assign(this.rules, block.opts.ref)
    }
  }
docs: Lexer
  @constructor
  @param {Object} options - overwrites default options