All work

MyST Markdown

MyST Markdown: the directives and roles behind Sphinx and Jupyter Book.

Source on GitLab Sublime Text · MPL-2.0 · v0.7.0
Stock Sublime
Twenty-four lines of a MyST test file in Sublime's stock Markdown syntax: headings and a table of citation styles whose cells hold @keys in brackets, none of the citations picked out.
MyST Markdown
The same lines with MystMarkdown: each @citation key underlined in cyan with its @ in blue, the brackets in blue, bold grey table headings, and the headings in orange.

MyST is the Markdown dialect behind Sphinx and Jupyter Book. This grammar adds its roles, directives, math, and definition lists to Sublime's Markdown, recognizing directives by shape so third-party ones work too.

It has the largest test suite in the family, including a harness that replays real keystrokes against a sandboxed Sublime to catch parser stalls that static tests miss.

How the fleet's Sublime syntaxes embed and extend one another. Five syntax repos are drawn as panels: python, myst, regex, metasyntax, and yaml. Cyan arrows are embeds or pushes into another syntax, labelled with the number of sites in the source; violet arrows are extends, and each name carries the stock package it extends. myPython pushes into myRegex at 12 sites and embeds MystDocstrings at 3; the MyST Typst grammar embeds myPython and myRegex, MystMarkdown pushes into myRegex at 3 sites, and HTML (Jinja) embeds the TOML_Jinja grammar from the python repo. Metasyntax pushes into the double-brace variant of myRegex at 3 sites. myRegex is extended by a templates variant, which a double-brace variant extends. In the yaml repo BashYAML embeds EmbeddedBash at 2 sites and EmbeddedFlowBash at 1, EmbeddedFlowBash and myZsh both extend EmbeddedBash, and nothing else in the fleet references the yaml syntaxes. The project this copy belongs to is drawn in amber. sublime-python-syntax sublime-myst-syntax sublime-regex-syntax sublime-meta-syntax sublime-yaml-syntax TOML_Jinja extends TOML myPython extends Python HTML (Jinja) extends HTML MystDocstrings extends MystMarkdown Typst no extends MystMarkdown extends Markdown myRegex no extends _MyRegexTemplates extends myRegex _MyRegexDoubleBraces extends _MyRegexTemplates Metasyntax extends YAML BashYAML extends YAML EmbeddedFlowBash extends EmbeddedBash EmbeddedBash extends Bash myZsh extends Zsh, EmbeddedBash extends ×1 ×3 ×1 ×12 ×1 ×3 ×3 ×1 ×2 embeds or pushes into another syntax, ×N sites extends a parent syntax