1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
# $Id: plugins.tcl 1198 2007-08-18 09:53:35Z sergei $
namespace eval plugins {}
proc plugins::load {dir args} {
set dir [fullpath $dir]
set uplev 0
foreach {attr val} $args {
switch -- $attr {
-uplevel {set uplev $val}
}
}
foreach file [lsort [glob -nocomplain $dir/*.tcl]] {
debugmsg plugins "Loading plugin from $file"
if {$uplev} {
uplevel [list source $file]
} else {
source $file
}
}
}
proc plugins::load_dir {plugins_dir} {
foreach dir [lsort [glob -nocomplain -type {d l} [file join $plugins_dir *]]] {
set file [file join $dir [file tail $dir].tcl]
if {[file exists $file]} {
debugmsg plugins "Loading plugin from $file"
source $file
} else {
debugmsg plugins "Can't load plugin from $file"
}
}
}
|