Mardi 06 août 2024 à 11:40

Suite de Projet 8 - "CodeMirror, conceal, Svelte".

J'essaie d'implémenter un "Replacing Dectorator" CodeMirror basé sur une recheche syntaxTree. -- from

J'essaie de m'inspirer de ces implémentations lezer-parser/markdown/src/extension.ts#L10 et /silverbulletmd/silverbullet/common/markdown_parser/parser.ts#L30.


Journaux liées à cette note :

Journal du mardi 06 août 2024 à 14:27 #JaiDécouvert, #JeMeDemande

Suite de Projet 8 - "CodeMirror, conceal, Svelte".

#JaiDécouvert lezer-markdown-obsidian qui correspond à ce que j'ai besoin pour 2024-08-06_1140.

Je viens de voir ici une propriété complete :

class FootnoteReferenceParser implements LeafBlockParser {

  ...

  complete(cx: BlockContext, leaf: LeafBlock) {
    cx.addLeafElement(
      leaf,
      cx.elt(
        "FootnoteReference",
        leaf.start,
        leaf.start + leaf.content.length,
        [
          cx.elt("FootnoteMark", leaf.start, leaf.start + 2),
          cx.elt("FootnoteLabel", leaf.start + 2, this.labelEnd - 2),
          cx.elt("FootnoteMark", this.labelEnd - 2, this.labelEnd),
          ...cx.parser.parseInline(
            leaf.content.slice(this.labelEnd - leaf.start),
            this.labelEnd
          ),
        ]
      )
    );
    return true;
  }
}

Dans le Projet 1 - "CodeMirror, autocomplétion, Svelte", #JeMeDemande si je ne suis pas passé à coté d'une meilleur méthode pour implémenter de l'auto complétiion dans CodeMirror 🤔.