I would look at unifying Eco-like editors with Racket (a Lisp with first-class support for implementing other languages). That leads naturally to an .eco file format which is just Racket Lisp. Then the .eco file can itself be a valid Racket program, which imports a module with a reader macro for each language in the Eco file. And the parsing implementation for a language can be shared between the Eco-like editor and the Racket reader macro.
I would look at unifying Eco-like editors with Racket (a Lisp with first-class support for implementing other languages). That leads naturally to an .eco file format which is just Racket Lisp. Then the .eco file can itself be a valid Racket program, which imports a module with a reader macro for each language in the Eco file. And the parsing implementation for a language can be shared between the Eco-like editor and the Racket reader macro.