Mi piacerebbe estendere asso con una modalità per un linguaggio personalizzato. Per quanto posso dire, il processo generale è:Come posso creare un'estensione in modalità standalone per ACE?
- Scarica la fonte asso.
- Crea un nuovo lib/ace/mode/foo.js per la tua lingua personalizzata.
- eseguire "make build" (o simile) per ricostruire ACE.
- Usa la nuova compilazione build/src-min-no-conflict (o qualsiasi altra cosa) ACE nel tuo sito web.
Ma voglio solo utilizzare una distribuzione ACE esistente dal loro sito Web, combinata con la mia nuova modalità standalone. Non voglio dover ricostruire ACE come parte del mio processo di compilazione per costruire la mia nuova modalità. Mi sono avvicinato a:
ace.config.setModuleUrl("foo-mode", "./foo.js");
session.setMode("foo-mode");
Ma ho subito incontrato problemi di requirejs/dipendenza. Per esempio non potevo fare require("ace/mode/matching_brace_outdent")
nella mia modalità. Ho temporaneamente violato quello chiamando prima setMode('ace/mode/c_cpp')
(che come sottoprodotto definisce il modulo matching_brace_outdent). Ma mi sono imbattuto in problemi ancora peggiori cercando di far funzionare un Worker Client personalizzato.
È la mia unica opzione per creare la mia modalità come parte di ACE? O mi sta sfuggendo qualcosa?