Contenido Markdown personalizado faltante

Estoy intentando crear un bbcode [fieldset=] donde se pueda ingresar un título como opción = y el contenido dentro de la etiqueta.

Hasta ahora, mi regla genera correctamente las etiquetas HTML, pero faltan el contenido y la opción.

Esta es la estructura de la etiqueta que parece correcta:

<field class="bbcode-fieldset">
<legend></legend>
<span></span>
</fieldset>

Y esta es la regla que he añadido:

md.block.bbcode.ruler.push("fieldset", {
    tag: "fieldset",
    replace: function(state, tagInfo, content) {
      let token = state.push("fieldset_open", "fieldset", 1);
      token.attrs = [["class", "bbcode-fieldset"]];

      token = state.push("legend_open", "legend", 1);
      token.content = tagInfo.attrs['_default'];
      token = state.push("legend_close", "legend", -1);

      token = state.push("span_open", "span", 1);
      token.content = content;

      token = state.push("span_close", "span", -1);
      token = state.push("fieldset_close", "fieldset", -1);

      return true;
    }
  });

¿Hay algo que me esté faltando sobre cómo añadir el contenido y el atributo _default? Quiero que se vea así:

<field class="bbcode-fieldset">
<legend>{option}</legend>
<span>{text}</span>
</fieldset>
token = state.push("span_open", "span", 1);

// Add this line :
token = state.push('text', '', 0);

token.content = content;
token = state.push("span_close", "span", -1);

Fuente: