aboutsummaryrefslogtreecommitdiff
path: root/_mint/parser/modules.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-21 15:25:09 +0100
committerMinteck <contact@minteck.org>2021-12-21 15:25:09 +0100
commite703e51c9c09b22e3bcda9a1faf1e05897f60616 (patch)
tree4fd67a209ad6988fbf569d7dff8bc37ba45baf95 /_mint/parser/modules.js
downloadmint-e703e51c9c09b22e3bcda9a1faf1e05897f60616.tar.gz
mint-e703e51c9c09b22e3bcda9a1faf1e05897f60616.tar.bz2
mint-e703e51c9c09b22e3bcda9a1faf1e05897f60616.zip
Initial commit
Diffstat (limited to '_mint/parser/modules.js')
-rw-r--r--_mint/parser/modules.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/_mint/parser/modules.js b/_mint/parser/modules.js
new file mode 100644
index 0000000..816747a
--- /dev/null
+++ b/_mint/parser/modules.js
@@ -0,0 +1,25 @@
+const MintParser = require('./base');
+
+module.exports = class MintParserModules extends MintParser {
+ parse(file) {
+ let m;
+ let regex = /@(.*);/gm;
+
+ while ((m = regex.exec(file)) !== null) {
+ if (m.index === regex.lastIndex) {
+ regex.lastIndex++;
+ }
+
+ m.forEach((match, groupIndex) => {
+ if (groupIndex === 1) {
+ if (match.startsWith("mint.lang")) {
+ let name = match.trim().substr(10);
+ constructed += "const " + name + " = require(\"../_mint/internal/" + name + "\");\n";
+ }
+ }
+ });
+ }
+
+ return file.replace(/@(.*);/gm, "");
+ }
+} \ No newline at end of file