quarto-dev / quarto-cli

Open-source scientific and technical publishing system built on Pandoc.
https://quarto.org
Other
3.99k stars 328 forks source link

feature: control engine resolution order on `_quarto.yml` #11305

Open cscheid opened 4 weeks ago

cscheid commented 4 weeks ago

(cc @MichaelHatherly @jkrumbiegel)

With the julia engine offering first-class support for Julia, we started running into issues of "engine priority": when two engines provide overlapping support, which should win? Currently the priority is hard-coded, which makes configuration awkward for projects that mostly use the julia engine.

An engines key in _quarto.yml could take an array of strings and control the resolution order. For example,

engines:
  - julia
  - jupyter
  - knitr

This would allow the julia engine to take higher priority than jupyter in projects where that is the desired outcome. Because we have a default ordering, this wouldn't break backwards compatibility either.

mcanouil commented 4 weeks ago

This relates heavily to: