Ja, Sie können dies mit require tun.
Wenn Sie Ihre Lua-Dateien in ~/.hammerspoon/
setzen, können Sie sie dann mit require('modulename')
laden. wenn Sie die folgenden Module haben zum Beispiel:
~/.hammerspoon/AppWatcher.lua
~/.hammerspoon/WiFiWatcher.lua
~/.hammerspoon/KeyRemap.lua
Dann können Sie sie von ~/.hammerspoon/init.lua
wie folgt laden:
local AppWatcher = require('AppWatcher')
local WiFiWatcher = require('WiFiWatcher')
local KeyRemap = require('KeyRemap')
können Sie Laden Sie alle Lua-Module, solange sie erscheinen in package.path. Um zu sehen, welche Verzeichnisse Sie verwenden können, werfen Sie einen Blick auf HammerSpoon package.path setup file. Dies verweist auf den Standard-Lua-Paketpfad, der in luaconf.h definiert ist.
Wenn Sie Ihre Lua-Module in einem Verzeichnis speichern möchten, das nicht in package.path enthalten ist, können Sie sie zu den Umgebungsvariablen LUA_PATH_5_3
oder LUA_PATH
hinzufügen.
Haftungsausschluss: Ich habe diese Informationen aus dem Hammerspoon-Quellcode, aber ich habe keinen Mac, also habe ich es nicht getestet. Lass es mich wissen, wenn es nicht für dich funktioniert. :)
Normalerweise würden Sie es mit 'require()' oder 'dofile()' tun. Nicht sicher, ob diese in Ihrer Umgebung verfügbar sind. – Forivin