summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules/CC/auto/RULES5
-rw-r--r--rules/shell/EXPRESSIONS15
2 files changed, 20 insertions, 0 deletions
diff --git a/rules/CC/auto/RULES b/rules/CC/auto/RULES
index d1a147b..65aca1c 100644
--- a/rules/CC/auto/RULES
+++ b/rules/CC/auto/RULES
@@ -163,6 +163,7 @@
, "default-NON_SYSTEM_TOOLS": ["./", "..", "default-NON_SYSTEM_TOOLS"]
, "map_provider": ["./", "../..", "field_map_provider"]
, "sh": ["./", "../../shell", "sh"]
+ , "sh-PATH": ["./", "../../shell", "PATH"]
}
, "implicit":
{ "defaults": [["./", "..", "defaults"]]
@@ -278,6 +279,10 @@
, "cond": {"type": "var", "name": "ENV_PATH"}
, "then": [{"type": "var", "name": "ENV_PATH"}]
}
+ , { "type": "let*"
+ , "bindings": [["fieldname", "shell defaults"]]
+ , "body": {"type": "CALL_EXPRESSION", "name": "sh-PATH"}
+ }
]
}
}
diff --git a/rules/shell/EXPRESSIONS b/rules/shell/EXPRESSIONS
index 6ab6c7c..722e897 100644
--- a/rules/shell/EXPRESSIONS
+++ b/rules/shell/EXPRESSIONS
@@ -84,4 +84,19 @@
, "body": {"type": "var", "name": "sh"}
}
}
+, "PATH":
+ { "vars": ["fieldname", "defaults-transition"]
+ , "imports": {"list_provider": ["./", "..", "field_list_provider"]}
+ , "expression":
+ { "type": "let*"
+ , "bindings":
+ [ [ "fieldname"
+ , {"type": "var", "name": "fieldname", "default": "defaults"}
+ ]
+ , ["provider", "PATH"]
+ , ["transition", {"type": "var", "name": "defaults-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
+ }
}