diff --git a/modules.go b/modules/modules.go similarity index 95% rename from modules.go rename to modules/modules.go index 3667cb2..5083c9e 100644 --- a/modules.go +++ b/modules/modules.go @@ -1,4 +1,4 @@ -package main +package modules import ( "embed" @@ -11,7 +11,7 @@ import ( luajit "git.sharkk.net/Sky/LuaJIT-to-Go" ) -//go:embed modules/*.lua +//go:embed *.lua var builtinModules embed.FS // ModuleRegistry manages built-in modules and Go functions @@ -42,7 +42,7 @@ func (mr *ModuleRegistry) RegisterGoFunction(name string, fn luajit.GoFunction) // LoadEmbeddedModules loads all modules from the embedded filesystem func (mr *ModuleRegistry) LoadEmbeddedModules() error { - entries, err := builtinModules.ReadDir("modules") + entries, err := builtinModules.ReadDir(".") if err != nil { return fmt.Errorf("failed to read modules directory: %w", err) } @@ -53,7 +53,7 @@ func (mr *ModuleRegistry) LoadEmbeddedModules() error { } moduleName := strings.TrimSuffix(entry.Name(), ".lua") - source, err := builtinModules.ReadFile(filepath.Join("modules", entry.Name())) + source, err := builtinModules.ReadFile(filepath.Join(".", entry.Name())) if err != nil { return fmt.Errorf("failed to read module %s: %w", moduleName, err) } diff --git a/moonshark.go b/moonshark.go index 346fea2..2ac0492 100644 --- a/moonshark.go +++ b/moonshark.go @@ -1,6 +1,7 @@ package main import ( + "Moonshark/modules" "fmt" "os" "os/signal" @@ -33,13 +34,13 @@ func main() { defer state.Close() // Set up module system - registry := NewModuleRegistry() + registry := modules.NewModuleRegistry() if err := registry.LoadEmbeddedModules(); err != nil { fmt.Fprintf(os.Stderr, "Warning: failed to load built-in modules: %v\n", err) } // Backup original require and install module system - BackupOriginalRequire(state) + modules.BackupOriginalRequire(state) if err := registry.InstallModules(state); err != nil { fmt.Fprintf(os.Stderr, "Error: failed to install module system: %v\n", err) os.Exit(1)