Dinamikus szintaxiskiejmelés


A dinamikus szintaxis-kiemelés az olyan kód kiemelése, amelyet a felhasználó meg tud változtatni. Ez csak egyetlen helyen fordul elő: az online szerkesztőben.

Note

A kódrészletek, az iterációk és a hasonlók statikusak, mivel a felhasználó nem tudja menet közben módosítani a kódját. Ha szeretnéd jobban megérteni, hogyan kezeljük a statikus szintaxis-kiemelést, nézd meg a statikus szintaxis-kiemelés dokumentációját.

Megvalósítás

A dinamikus szintaxis-kiemelést a CodeMirror könyvtárral valósítjuk meg.

Amikor támogatást szeretnél hozzáadni a nyelvedhez, három lehetőség közül választhatsz:

  1. A nyelvet a CodeMirror alapból támogatja (azaz szerepel a támogatott nyelvek listáján). Ha igen, lapozz a Nyelv engedélyezése szakaszhoz.
  2. A nyelvet egy meglévő CodeMirror-plugin támogatja. Ha igen, lapozz a Meglévő plugin használata szakaszhoz.
  3. A nyelv nem támogatott. Ilyenkor három lehetőség van:
    1. Írj egy CodeMirror-plugint a nulláról, ahogy az Új plugin létrehozása szakasz leírja.
    2. A nyelved szintaxisa (nagyban) hasonlít egy másik nyelv szintaxisához (például a Unison szintaxisa a Haskelléhez), ilyenkor megfontolhatod, hogy a nyelvedhez azt a másik nyelv szintaxis-kiemelését használd. További információkért lásd a Nyelv engedélyezése szakaszt.
    3. Ne legyen dinamikus szintaxis-kiemelés.

Nyelv engedélyezése

Ahhoz, hogy engedélyezzük a CodeMirror támogatását a nyelvedhez, nyiss egy témát a fórumon. Mi (az Exercism) ezután létrehozunk egy Pull Requestet, amely engedélyezi a CodeMirror támogatását a nyelvedhez a weboldalon.

Meglévő plugin használata

Egy meglévő plugin használatához annak közzé kell lennie téve az NPM-en.

Ha a plugin nincs közzétéve az NPM-en, a következőket teheted:

  1. Kérdezd meg a plugin szerzőjét, szeretné-e közzétenni az NPM-en.
  2. Forkold a tárolót, és tedd közzé te magad.
  3. Kérd meg minket (az Exercism), hogy forkoldjuk a tárolót, és mi tesszük közzé. Ehhez nyiss egy témát a fórumon, amelyben ezt kéred.
Note

A CodeMirror weboldalán megtalálod a közösség által készített nyelvi pluginok listáját.

A következő lépés: Nyelv engedélyezése.

Új plugin létrehozása

Íme a lépések az induláshoz:

  1. Nézd meg a tárolólistánkat, hogy létezik-e már codemirror-lang-..., és győződj meg róla, hogy nincs még ilyen.
  2. Nyiss egy új témát az Exercism fórumán, és írd meg, melyik nyelvhez szeretnél CodeMirror-plugint készíteni.
  3. Amint létrejött a CodeMirror-plugin tárolója, implementáld a nyelvtant a kurzusodhoz.
Note

Hogy segítsünk az indulásban, a neked létrehozott tároló tartalmaz egy minimális mintanyelvtant, amelyre építhetsz, és amelyet finomíthatsz.

Hihetetlenül barátságos és segítőkész közösségünk van, amely szívesen segít neked, ahogy ezen végighaladsz! Ha elakadsz, nyiss egy új témát az Exercism fórumán, vagy hozz létre új issue-kat az exercism/exercism tárolóban, ahogy szükséges 🙂

Ezután közzé kell tenned a plugint az NPM-en. A következő lépés: Nyelv engedélyezése.

Másik nyelv használata

A nyelved szintaxisa (nagyban) hasonlít egy másik nyelv szintaxisához, ilyenkor megfontolhatod, hogy a nyelvedhez a másik nyelv szintaxis-kiemelését használd. Ehhez a kurzust a másik nyelv CodeMirror-pluginjával kell beállítanod. További információkért lásd a Nyelv engedélyezése szakaszt.