hydra-synth / hydra

Livecoding networked visuals in the browser
https://hydra.ojack.xyz
GNU Affero General Public License v3.0
2.15k stars 261 forks source link

Update to CodeMirror 6 #160

Open folz opened 2 years ago

folz commented 2 years ago

Related to #109, wanted to get your thoughts on updating the editor from CM5 -> CM6 even if Monaco does get chosen later down the line.

ojack commented 2 years ago

Sounds good to me! CM6 seems more flexible / extendible, although I haven't had much chance to dive in yet. I have started some refactor in the 'dev' branch to make the editor more independent as a module (eventually I can imagine a package "hydra-editor").

micuat commented 2 years ago

I can also take a look as I'm working on the interactive doc - and then I can give you feedback on how to upgrade to CM6 or I can simply PR to dev branch :)

micuat commented 2 years ago

I did some research but CM6 seems not supporting import via CDN - which is not a problem for this repo but for the interactive tutorial (if we continue without compiling JS) it is an issue. I wonder how that would affect making a hydra-editor package (I know that CM will be compiled into the module in that case).

BTW, Monaco does support import via CDN: https://stackoverflow.com/questions/63179813/how-to-run-the-monaco-editor-from-a-cdn-like-cdnjs

folz commented 2 years ago

Yeah, I think it's useful to think of CM5 as an editor and CM6 as a toolkit that makes it easy to make an editor. So it might be the case that hydra-editor is written using CM6 and then published so you can import it via CDN.