@top Document { Note* }

Note {
  NoteDelimiter NoteContent
}

NoteDelimiter {
    noteDelimiterEnter noteDelimiterMark NoteLanguage Auto? noteDelimiterEnter
}


@tokens {
    noteDelimiterMark { "∞∞∞" }
    NoteLanguage { "text" | "math" | "javascript" | "typescript" | "jsx" | "tsx" | "json" | "python" | "html" | "sql" | "markdown" | "java" | "php" | "css" | "xml" | "cpp" | "rust" | "csharp" | "ruby" | "shell" | "yaml" | "golang" | "clojure" | "erlang" | "lezer" | "toml" | "swift" | "kotlin" | "groovy" | "diff" | "powershell" | "vue" | "dart" }
    Auto { "-a" }
    noteDelimiterEnter { "\n" }
    //NoteContent { String }
    //String { (![∞])+ }
}

@external tokens noteContent from "./external-tokens.js" { NoteContent }

