summaryrefslogtreecommitdiff
path: root/dnw/forms.scm~
diff options
context:
space:
mode:
authorDuncan Wilkie <antigravityd@gmail.com>2023-09-21 18:30:31 -0500
committerDuncan Wilkie <antigravityd@gmail.com>2023-09-21 18:30:31 -0500
commit78c78126b8a0f3a666127cc7088844604e6f2456 (patch)
tree09e7115640f12da35eb970a9fe7fa56fff4aacf8 /dnw/forms.scm~
parent84b6d6c6a7e55a606373607c054906f95d0f4ad3 (diff)
Testing automatic git ops
Diffstat (limited to 'dnw/forms.scm~')
-rw-r--r--dnw/forms.scm~22
1 files changed, 22 insertions, 0 deletions
diff --git a/dnw/forms.scm~ b/dnw/forms.scm~
new file mode 100644
index 0000000..99813a7
--- /dev/null
+++ b/dnw/forms.scm~
@@ -0,0 +1,22 @@
+(define-module (dnw forms.el-to-html))
+
+;; Idea: function that takes in a git repository link pointing to something containing a forms file pair,
+;; and reads it in along with a mapping between whatever Elisp functions you use in forms-format-list
+;; and equivalent Scheme implementations (bc I can't figure out how to programmatically use Guile's Elisp support).
+
+(define (forms.el->shtml git-link))
+
+(define (forms.el-parse file)
+ (define-peg-string-patterns
+ "form-control-file <- (comment/whitespace/setq)+
+comment < ';' (!'\n')* '\n'
+whitespace < [\r\n\t ]+
+setq < '(' whitespace? 'setq' whitespace name-val-pair whitespace? ')'
+
+name-val-pair <- forms-file/forms-format-list/forms-number-of-fields/forms-field-sep
+/forms-read-only/forms-multi-line/forms-read-file-filter/forms-write-file-filter
+/forms-new-record-filter/forms-insert-after/forms-check-number-of-fields
+
+value <- string/quoted/
+
+"))