;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Filename: setup.il ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Description: Load all files with .il extension from first directory in ;;; SkillPath. ;;; This file should be called from the top level setup file which has set ;;; the skill path to point at the directory in which this file is located. let((loadFiles excludeFiles allFiles skillFiles) ;;---------------------------------------------------------- ;; List files (with non .il extension) to be loaded ;;---------------------------------------------------------- loadFiles = list( ); includeFiles ;;---------------------------------------------------------- ;; List files (with .il extension) not to be loaded ;;---------------------------------------------------------- excludeFiles = list( "setup.il" ; prevent recursive load ); excludeFiles ;;----------------------------------------------------------- ;; Get all the skill files in the current directory ;;----------------------------------------------------------- allFiles = getDirFiles(simplifyFilename(car(getSkillPath()))) skillFiles = setof(file allFiles rexMatchp("\\.il$" file)) ;;----------------------------------------------------------- ;; Derive list of files to be loaded ;;----------------------------------------------------------- foreach(file skillFiles unless(member(file loadFiles) || member(file excludeFiles) loadFiles = cons(file loadFiles) ); unless ); foreach ;;----------------------------------------------------------- ;; Load the files - loadi to keep going after an error ;;----------------------------------------------------------- foreach(file loadFiles loadi(file)) );let