move modules.go to /modules
This commit is contained in:
parent
dadc6f13f7
commit
03d1b93f35
@ -1,4 +1,4 @@
|
|||||||
package main
|
package modules
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
@ -11,7 +11,7 @@ import (
|
|||||||
luajit "git.sharkk.net/Sky/LuaJIT-to-Go"
|
luajit "git.sharkk.net/Sky/LuaJIT-to-Go"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed modules/*.lua
|
//go:embed *.lua
|
||||||
var builtinModules embed.FS
|
var builtinModules embed.FS
|
||||||
|
|
||||||
// ModuleRegistry manages built-in modules and Go functions
|
// 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
|
// LoadEmbeddedModules loads all modules from the embedded filesystem
|
||||||
func (mr *ModuleRegistry) LoadEmbeddedModules() error {
|
func (mr *ModuleRegistry) LoadEmbeddedModules() error {
|
||||||
entries, err := builtinModules.ReadDir("modules")
|
entries, err := builtinModules.ReadDir(".")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to read modules directory: %w", err)
|
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")
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to read module %s: %w", moduleName, err)
|
return fmt.Errorf("failed to read module %s: %w", moduleName, err)
|
||||||
}
|
}
|
@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Moonshark/modules"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
@ -33,13 +34,13 @@ func main() {
|
|||||||
defer state.Close()
|
defer state.Close()
|
||||||
|
|
||||||
// Set up module system
|
// Set up module system
|
||||||
registry := NewModuleRegistry()
|
registry := modules.NewModuleRegistry()
|
||||||
if err := registry.LoadEmbeddedModules(); err != nil {
|
if err := registry.LoadEmbeddedModules(); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "Warning: failed to load built-in modules: %v\n", err)
|
fmt.Fprintf(os.Stderr, "Warning: failed to load built-in modules: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Backup original require and install module system
|
// Backup original require and install module system
|
||||||
BackupOriginalRequire(state)
|
modules.BackupOriginalRequire(state)
|
||||||
if err := registry.InstallModules(state); err != nil {
|
if err := registry.InstallModules(state); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "Error: failed to install module system: %v\n", err)
|
fmt.Fprintf(os.Stderr, "Error: failed to install module system: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user