aboutsummaryrefslogtreecommitdiff
path: root/compute_scripts.awk
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-01-08 14:47:39 +0100
committerWojtek Kosior <koszko@koszko.org>2022-01-08 14:48:12 +0100
commit448820a11634de6ec356c77b8c7c0cf4937b344c (patch)
tree06147c3d40475ba863ccea9904ba4cdfe1d66db0 /compute_scripts.awk
parent372d24ea3a52e376f953deeffeb7847d008b81c9 (diff)
downloadbrowser-extension-448820a11634de6ec356c77b8c7c0cf4937b344c.tar.gz
browser-extension-448820a11634de6ec356c77b8c7c0cf4937b344c.zip
work on UI components
This commit introduces some HTML and javascript (and tests for it) to use in constructing the new UI. This is partial work that is not yet finished.
Diffstat (limited to 'compute_scripts.awk')
-rwxr-xr-xcompute_scripts.awk18
1 files changed, 13 insertions, 5 deletions
diff --git a/compute_scripts.awk b/compute_scripts.awk
index 2d7ea72..1db79e0 100755
--- a/compute_scripts.awk
+++ b/compute_scripts.awk
@@ -38,6 +38,8 @@ BEGIN {
directive_args_patterns["ENDIF"] = "^$"
directive_args_patterns["ELSE"] = "^$"
directive_args_patterns["ELIF"] = "^(NOT[[:space:]]+)?" identifier_re "$"
+ directive_args_patterns["DEFINE"] = "^" identifier_re "$"
+ directive_args_patterns["UNDEF"] = "^" identifier_re "$"
directive_args_patterns["ERROR"] = "^.*$"
directive_args_patterns["COPY"] = "^[^[:space:]]+$"
directive_args_patterns["INCLUDE"] = "^[^[:space:]]+$"
@@ -57,6 +59,8 @@ BEGIN {
directive_args_patterns["LOADJS"] = "^[^[:space:]]+$"
directive_args_patterns["LOADCSS"] = "^[^[:space:]]+$"
+
+ directive_args_patterns["LOADHTML"] = "^[^[:space:]]+$"
}
function validate_path(read_path, path, line) {
@@ -200,7 +204,7 @@ function process_file(path, read_path, mode,
sub(/[[:space:]].*$/, "", directive)
if (directive !~ \
- /^(IF|ENDIF|ELSE|ELIF|ERROR|INCLUDE|INCLUDE_VERBATIM|COPY_FILE)$/ &&
+ /^(IF|ENDIF|ELSE|ELIF|DEFINE|UNDEF|ERROR|INCLUDE|INCLUDE_VERBATIM|COPY_FILE)$/ &&
(mode != "js" || directive !~ /^(IMPORT|FROM|EXPORT)$/) &&
(mode != "html" || directive !~ /^(LOADJS|LOADCSS)$/) &&
(mode != "manifest" || directive !~ /^(LOADJS|LOADHTML)$/)) {
@@ -222,7 +226,7 @@ function process_file(path, read_path, mode,
if (directive == "IF") {
if (if_nesting_true == if_nesting) {
- if (if_condition_true(directive_args))
+ if (if_condition_true(directive_args, path))
if_nesting_true++
else
if_branch_processed = false
@@ -261,7 +265,7 @@ function process_file(path, read_path, mode,
}
if (if_nesting == if_nesting_true + 1 && !if_branch_processed &&
- if_condition_true(directive_args)) {
+ if_condition_true(directive_args, path)) {
if_nesting_true++
} else if (if_nesting == if_nesting_true) {
if_branch_processed = true
@@ -269,6 +273,10 @@ function process_file(path, read_path, mode,
}
} else if (if_nesting_true != if_nesting) {
continue
+ } else if (directive == "DEFINE") {
+ defines[path,directive_args]
+ } else if (directive == "UNDEF") {
+ delete defines[path,directive_args]
} else if (directive == "ERROR") {
printf "ERROR: File %s says: %s\n",
read_path, directive_args > "/dev/stderr"
@@ -332,7 +340,7 @@ function process_file(path, read_path, mode,
delete reading[read_path]
}
-function if_condition_true(directive_args,
+function if_condition_true(directive_args, path,
result, bool, first_iter, word, negated, alt) {
first_iter = true
@@ -344,7 +352,7 @@ function if_condition_true(directive_args,
negated = word ~ /^!/
sub(/^!/, "", word)
- bool = (word in defines) != negated
+ bool = (word in defines || (path,word) in defines) != negated
if (first_iter) {
result = bool