From 7d7ea7dd334b08cb6efcdbd4eeb647b5f82ff817 Mon Sep 17 00:00:00 2001 From: s-ol Date: Sun, 19 May 2024 01:22:10 +0200 Subject: main: allow passing list of files to loadVirtualPrograms --- main.tcl | 17 +++++++++++------ 1 file 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 -- cgit v1.2.3