zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
50.5k stars 3.13k forks source link

Support for quarto's `.qmd` file format #12406

Open jtlandis opened 5 months ago

jtlandis commented 5 months ago

Check for existing issues

Describe the feature

This request is largely similar in the same spirit to #5273 but for getting support for quarto .qmd. Currently, the only IDEs that provide the best experience with .qmd are RStudio and VScode and it would be great to be able to interact with these documents in Zed.

Quarto is the elevated version of .Rmd, which are like standard .md documents, except that fenced code blocks may be executable and .qmd supports more languages than just R. Quarto is built on top of pandoc, which allows it to have a diverse range of output formats.

Quarto is marketed towards the academic and scientific community. Given that zed has a pretty niche collaborative feature, it would be cool to collaborate with others through zed on .qmd documents.

Practically speaking, the LSP and text highlighting may be fairly straight forward, as I believe markdown highlighting is supported and fenced code may be highlighted through some injection query? Due to my limited knowledge, the undertaking may be larger than I'm imagining.

I believe the language grammar for .qmd may be a modified version of .md. Quarto has some special syntax involving cross referencing with @ and specifying pandoc divs like bellow

::: {.callout-note}
some note
:::

like in #5273, allowing output rendered into the text buffer may be another large undertaking.

If applicable, add mockups / screenshots to help present your vision of the feature

example view from RStudio

image

example view from VScode

image
gabrielkoerich commented 5 months ago

this would be awesome