summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2024-05-18 23:22:10 +0000
committers-ol <s+removethis@s-ol.nu>2024-05-25 22:32:59 +0000
commit7d7ea7dd334b08cb6efcdbd4eeb647b5f82ff817 (patch)
treec473aa1c49abdaa1dc0012eb5c8597ed2d3a8923
parentPublish april tag detector generator to db (diff)
downloadfolk-7d7ea7dd334b08cb6efcdbd4eeb647b5f82ff817.tar.gz
folk-7d7ea7dd334b08cb6efcdbd4eeb647b5f82ff817.zip
main: allow passing list of files to loadVirtualPrograms
-rw-r--r--main.tcl17
1 files changed, 11 insertions, 6 deletions
diff --git a/main.tcl b/main.tcl
index 40e43ab6..ed149e8a 100644
--- a/main.tcl
+++ b/main.tcl
@@ -586,7 +586,15 @@ if {[info exists ::entry]} {
# process.
set ::thisProcess $::thisNode
- proc ::loadVirtualPrograms {} {
+ proc ::loadVirtualPrograms {{programs ""}} {
+ if {$programs eq ""} {
+ set programs [list {*}[glob virtual-programs/*.folk] \
+ {*}[glob virtual-programs/*/*.folk] \
+ {*}[glob -nocomplain "user-programs/[info hostname]/*.folk"] \
+ {*}[glob -nocomplain "$::env(HOME)/folk-live/*.folk"] \
+ {*}[glob -nocomplain "$::env(HOME)/folk-live/*/*.folk"]]
+ }
+
set ::rootVirtualPrograms [dict create]
proc loadProgram {programFilename} {
# this is a proc so its variables don't leak
@@ -594,11 +602,8 @@ if {[info exists ::entry]} {
dict set ::rootVirtualPrograms $programFilename [read $fp]
close $fp
}
- foreach programFilename [list {*}[glob virtual-programs/*.folk] \
- {*}[glob virtual-programs/*/*.folk] \
- {*}[glob -nocomplain "user-programs/[info hostname]/*.folk"] \
- {*}[glob -nocomplain "$::env(HOME)/folk-live/*.folk"] \
- {*}[glob -nocomplain "$::env(HOME)/folk-live/*/*.folk"]] {
+
+ foreach programFilename $programs {
if {[string match "*/_archive/*" $programFilename] ||
[string match "*/folk-printed-programs/*" $programFilename]} { continue }
loadProgram $programFilename