aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2017-10-02 19:00:58 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2017-10-02 19:00:58 -0700
commit63ed265157de8ff91dee606b0e61e52214a4083b (patch)
tree0b9aa6e920d8ea9a4938a59a0e7b39355b108150 /lib
parentdcd3391b36c7accc194cfdc8654db085c9bc820e (diff)
More progress towards making everything work.
Diffstat (limited to 'lib')
-rw-r--r--lib/collections.nom2
-rw-r--r--lib/metaprogramming.nom3
-rw-r--r--lib/permissions.nom2
-rw-r--r--lib/secrets.nom7
-rw-r--r--lib/utils.nom2
5 files changed, 9 insertions, 7 deletions
diff --git a/lib/collections.nom b/lib/collections.nom
index 61ae71d..43dfb08 100644
--- a/lib/collections.nom
+++ b/lib/collections.nom
@@ -67,7 +67,7 @@ compile [..]
%index rd in %list = %new_value, %index th in %list = %new_value, %index in %list = %new_value
%list -> %index = %new_value
..to code:
- "(\(%list as lua))[\(%index as lua)] = \(%new_value as lua)"
+ "(\(%list as lua))[\(%index as lua)] = \(%new_value as lua);"
compile [append %item to %list, add %item to %list] to:
"table.insert(\(%list as lua), \(%item as lua))"
diff --git a/lib/metaprogramming.nom b/lib/metaprogramming.nom
index 12144b4..4924e78 100644
--- a/lib/metaprogramming.nom
+++ b/lib/metaprogramming.nom
@@ -44,7 +44,8 @@ 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 [do %] =: %
+rule [do %] =:
+ lua expr "\(%)(nomsu, vars)"
rule [%tree as lua] =:
lua expr "nomsu:tree_to_lua(\(%tree))"
diff --git a/lib/permissions.nom b/lib/permissions.nom
index a2fffff..bb39ac9 100644
--- a/lib/permissions.nom
+++ b/lib/permissions.nom
@@ -17,7 +17,7 @@ rule [restrict %rules to within %elite-rules] =:
assert (nomsu "check_permission" [%]) ".."
|You do not have permission to restrict permissions for function: \(%)
((nomsu) ->* ["defs",%rule,"whiteset"]) = (..)
- dict: [%, yes] for all %elite-rules
+ dict ([%, yes] for all %elite-rules)
rule [allow %elite-rules to use %rules] =:
%rules = (standardize rules %rules)
diff --git a/lib/secrets.nom b/lib/secrets.nom
index 4c3dca6..76bf6b3 100644
--- a/lib/secrets.nom
+++ b/lib/secrets.nom
@@ -2,14 +2,14 @@ require "lib/core.nom"
compile [with secrets %block] to code: ".."
|do;
- | local secrets = {}
+ | local secrets = {};
| \(%block as lua statements)
|end;
# Access the lua variable that should be within scope
compile [secrets] to: "secrets"
-compile [secret %key; secret value of %key; secret value for %key] to:
+compile [secret %key, secret value of %key, secret value for %key] to:
assert ((%key's "type") == "Var") ".."
|Wrong type, expected Var, but got: \(%key's "type")
"secrets[\(repr (%key's "value"))]"
@@ -17,6 +17,7 @@ compile [secret %key; secret value of %key; secret value for %key] to:
compile [secret %key = %new_value] to code:
assert ((%key's "type") == "Var") ".."
|Wrong type, expected Var, but got: \(%key's "type")
- "secrets[\(repr (%key's "value"))] = \(%new_value as lua)"
+ "secrets[\(repr (%key's "value"))] = \(%new_value as lua);"
rule [rules about secrecy] =: ["with secrets %"]
+
diff --git a/lib/utils.nom b/lib/utils.nom
index 02d3732..608e72f 100644
--- a/lib/utils.nom
+++ b/lib/utils.nom
@@ -23,7 +23,7 @@ compile [capitalize %str, %str capitalized] to:
"(\(%str as lua)):gsub('%l', string.upper, 1)"
compile [say %str] to: ".."
- |nomsu:writeln(\(%str as lua))
+ |nomsu:writeln(nomsu.utils.repr_if_not_string(\(%str as lua)))
# Number ranges
compile [%start to %stop by %step, %start to %stop via %step] to: ".."