Skip to content

Instantly share code, notes, and snippets.

@zenware
Created September 22, 2023 00:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zenware/dab8bf24ffbd3c265cd6f1ba2265b417 to your computer and use it in GitHub Desktop.
Save zenware/dab8bf24ffbd3c265cd6f1ba2265b417 to your computer and use it in GitHub Desktop.
// Attempt to melodify the following regex:
<start>;
any of <whitespace>;
option of capture scope {
either {
"_G.";
capture {
"local";
}
}
}
option of capture {
any of <whitespace>;
}
capture varname {
<alphabetic>;
any of <alphanumeric>;
}
// Assigning this block to a variable is a bit of a kludge to use `either` later
// Without "cheating" by adding a literal `|`
let .first_bit = {
any of <whitespace>;
// backtick allows you to inject literals
// melody seems to be missing a feature to match a single character of a set.
any of `[+-]`;
"=";
any of <whitespace>;
}
capture {
either {
.first_bit;
<end>;
}
}
let .text_in_brackets = {
"["; any of <char>; "]";
}
let .text_in_braces = {
"{"; any of <char>; "}";
}
let .text_in_quotes = {
'"'; any of <char>; '"';
}
let .delimiters = {
"";
}
option of capture data {
either {
.text_in_brackets;
.text_in_braces;
.text_in_quotes;
any of `[^" -]`;
}
// "not" is to-be-implemented
}
option of capture {
any of <whitespace>;
"--";
any of <whitespace>;
capture comment {
any of <char>;
<end>;
}
}
option of capture {
<end>;
}
@zenware
Copy link
Author

zenware commented Sep 22, 2023

Because I suspect Discord will complain about this URL

https://melody-playground.vercel.app?content=JTJGJTJGJTIwQXR0ZW1wdCUyMHRvJTIwbWVsb2RpZnklMjB0aGUlMjBmb2xsb3dpbmclMjByZWdleCUzQSUwQSUzQ3N0YXJ0JTNFJTNCJTBBJTBBYW55JTIwb2YlMjAlM0N3aGl0ZXNwYWNlJTNFJTNCJTBBJTBBb3B0aW9uJTIwb2YlMjBjYXB0dXJlJTIwc2NvcGUlMjAlN0IlMEElMjAlMjBlaXRoZXIlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjJfRy4lMjIlM0IlMEElMjAlMjAlMjAlMjBjYXB0dXJlJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIybG9jYWwlMjIlM0IlMEElMjAlMjAlMjAlMjAlN0QlMEElMjAlMjAlN0QlMEElN0QlMEElMEFvcHRpb24lMjBvZiUyMGNhcHR1cmUlMjAlN0IlMEElMjAlMjBhbnklMjBvZiUyMCUzQ3doaXRlc3BhY2UlM0UlM0IlMEElN0QlMEElMEFjYXB0dXJlJTIwdmFybmFtZSUyMCU3QiUwQSUyMCUyMCUzQ2FscGhhYmV0aWMlM0UlM0IlMEElMjAlMjBhbnklMjBvZiUyMCUzQ2FscGhhbnVtZXJpYyUzRSUzQiUwQSU3RCUwQSUwQSUyRiUyRiUyMEFzc2lnbmluZyUyMHRoaXMlMjBibG9jayUyMHRvJTIwYSUyMHZhcmlhYmxlJTIwaXMlMjBhJTIwYml0JTIwb2YlMjBhJTIwa2x1ZGdlJTIwdG8lMjB1c2UlMjAlNjBlaXRoZXIlNjAlMjBsYXRlciUwQSUyRiUyRiUyMFdpdGhvdXQlMjAlMjJjaGVhdGluZyUyMiUyMGJ5JTIwYWRkaW5nJTIwYSUyMGxpdGVyYWwlMjAlNjAlN0MlNjAlMEFsZXQlMjAuZmlyc3RfYml0JTIwJTNEJTIwJTdCJTBBJTIwJTIwYW55JTIwb2YlMjAlM0N3aGl0ZXNwYWNlJTNFJTNCJTBBJTIwJTIwJTJGJTJGJTIwYmFja3RpY2slMjBhbGxvd3MlMjB5b3UlMjB0byUyMGluamVjdCUyMGxpdGVyYWxzJTBBJTIwJTIwJTJGJTJGJTIwbWVsb2R5JTIwc2VlbXMlMjB0byUyMGJlJTIwbWlzc2luZyUyMGElMjBmZWF0dXJlJTIwdG8lMjBtYXRjaCUyMGElMjBzaW5nbGUlMjBjaGFyYWN0ZXIlMjBvZiUyMGElMjBzZXQuJTBBJTIwJTIwYW55JTIwb2YlMjAlNjAlNUIlMkItJTVEJTYwJTNCJTBBJTIwJTIwJTIyJTNEJTIyJTNCJTBBJTIwJTIwYW55JTIwb2YlMjAlM0N3aGl0ZXNwYWNlJTNFJTNCJTBBJTdEJTBBJTBBY2FwdHVyZSUyMCU3QiUwQSUyMCUyMGVpdGhlciUyMCU3QiUwQSUyMCUyMCUyMCUyMC5maXJzdF9iaXQlM0IlMEElMjAlMjAlMjAlMjAlM0NlbmQlM0UlM0IlMEElMjAlMjAlN0QlMEElN0QlMEElMEFsZXQlMjAudGV4dF9pbl9icmFja2V0cyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMiU1QiUyMiUzQiUyMGFueSUyMG9mJTIwJTNDY2hhciUzRSUzQiUyMCUyMiU1RCUyMiUzQiUwQSU3RCUwQWxldCUyMC50ZXh0X2luX2JyYWNlcyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMiU3QiUyMiUzQiUyMGFueSUyMG9mJTIwJTNDY2hhciUzRSUzQiUyMCUyMiU3RCUyMiUzQiUwQSU3RCUwQWxldCUyMC50ZXh0X2luX3F1b3RlcyUyMCUzRCUyMCU3QiUwQSUyMCUyMCclMjInJTNCJTIwYW55JTIwb2YlMjAlM0NjaGFyJTNFJTNCJTIwJyUyMiclM0IlMEElN0QlMEElMEFsZXQlMjAuZGVsaW1pdGVycyUyMCUzRCUyMCU3QiUwQSUyMCUyMCUyMiUyMiUzQiUwQSU3RCUwQSUwQW9wdGlvbiUyMG9mJTIwY2FwdHVyZSUyMGRhdGElMjAlN0IlMEElMjAlMjBlaXRoZXIlMjAlN0IlMEElMjAlMjAlMjAlMjAudGV4dF9pbl9icmFja2V0cyUzQiUwQSUyMCUyMCUyMCUyMC50ZXh0X2luX2JyYWNlcyUzQiUwQSUyMCUyMCUyMCUyMC50ZXh0X2luX3F1b3RlcyUzQiUwQSUyMCUyMCUyMCUyMGFueSUyMG9mJTIwJTYwJTVCJTVFJTIyJTIwLSU1RCU2MCUzQiUwQSUyMCUyMCU3RCUwQSUyMCUyMCUyRiUyRiUyMCUyMm5vdCUyMiUyMGlzJTIwdG8tYmUtaW1wbGVtZW50ZWQlMEElN0QlMEElMEFvcHRpb24lMjBvZiUyMGNhcHR1cmUlMjAlN0IlMEElMjAlMjBhbnklMjBvZiUyMCUzQ3doaXRlc3BhY2UlM0UlM0IlMEElMjAlMjAlMjItLSUyMiUzQiUwQSUyMCUyMGFueSUyMG9mJTIwJTNDd2hpdGVzcGFjZSUzRSUzQiUwQSUyMCUyMGNhcHR1cmUlMjBjb21tZW50JTIwJTdCJTBBJTIwJTIwJTIwJTIwYW55JTIwb2YlMjAlM0NjaGFyJTNFJTNCJTBBJTIwJTIwJTIwJTIwJTNDZW5kJTNFJTNCJTBBJTIwJTIwJTdEJTBBJTdEJTBBJTBBb3B0aW9uJTIwb2YlMjBjYXB0dXJlJTIwJTdCJTBBJTIwJTIwJTNDZW5kJTNFJTNCJTBBJTdEJTBB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment