Last active
April 28, 2020 09:52
-
-
Save jussiry/721b8cfd8f3a3bb98329906d92e0174f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! js | |
// Peritään yleisiä kieli ominaisuuksia lang-moduulista | |
Object.setPrototypeOf(pod, :lang) | |
// Kääntäjä saa lähdekoodin ja käännettyään palauttaa javascript koodia | |
pod.compiler = (sourceString, moduleName) => { | |
// Kääntämisen lisäksi voidaan ajaa mitä vaan koodia, | |
// tässä tapauksissa muuttaa editorissa olevaa koodia | |
// (ensin varmistetaan että ollaa muokkaamassa ks. moduulia) | |
if (moduleName == :moduleGate.rootName) { | |
enhanceSourceCode() | |
} | |
// Palautetaan käännetty JS koodi: | |
return `edide.console.log('pod koodia ${sourceString.length} merkin edestä')` | |
} | |
function enhanceSourceCode() { | |
var { root } = :editorCm // 'root' on CodeMirror instanssi | |
var cursor = root.getCursor() // säilytetään kursorin paikka vaikka koodi muuttuu | |
var newCode = root.getValue()+' podpod' // uusi koodi | |
root.setValue(newCode) // asetetaan uusi koodi | |
root.setCursor(cursor) // palautetaan kursori | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment