aboutsummaryrefslogtreecommitdiff
path: root/lib/metaprogramming.nom
diff options
context:
space:
mode:
Diffstat (limited to 'lib/metaprogramming.nom')
-rw-r--r--lib/metaprogramming.nom7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/metaprogramming.nom b/lib/metaprogramming.nom
index ac45574..fe1d50a 100644
--- a/lib/metaprogramming.nom
+++ b/lib/metaprogramming.nom
@@ -53,6 +53,13 @@ rule [escaped compile %macro_def to code %body] =:
parse [compile %macro_def to %body] as: escaped compile \%macro_def to \%body
parse [compile %macro_def to code %body] as: escaped compile \%macro_def to code \%body
+rule [remove rule %stub] =:
+ lua> ".."
+ |local def = nomsu.defs[stub];
+ |for _, alias in ipairs(def.aliases) do
+ | nomsu.defs[alias] = nil;
+ |end
+
rule [do %] =:
=lua "\(%)(nomsu, vars)"