Ich wollte zusätzlich zum SciTE-internen Lua gerne alternativ Lua-Code /-Dateien mit einem externen Lua ausführen. Zum Aufruf aus SciTE ließe sich auch ein command-Aufruf ohne den Runner konfigurieren, so ist es aber etwas flexibler.
Der LuaRunner kann auch aus AutoIt-Skripten heraus aufgerufen und somit z.B. in Projekten verwendet werden.
Eine Bsp-Datei ist mit angehängt.
Code
ÜBER
1.
Ausführen von Lua-Skripten oder einzelnen Lua-Befehlen aus SciTE unter Verwendung einer externen Lua-Installation.
Die Rückgabewerte werden auf der SciTE-Konsole ausgegeben. Vor der Ausführung wird eine Syntaxprüfung durchgeführt.
Lua-Dateien können in SciTE auf die gleiche Weise wie AutoIt-Dateien mit Parametern aufgerufen werden.
Es können also bis zu 4 Parameter zum Testen in SciTE übergeben werden.
2.
Ausführen von Lua-Skripten oder einzelnen Lua-Befehlen aus einem Au3-Skript.
Die Rückgabewerte werden in die Datei ausgegeben: @ScriptDir & '\LuaRunner_Result.txt'.
Vor der Ausführung wird eine Syntaxprüfung durchgeführt.
Die Anzahl der Parameter, die an eine Lua-Datei übergeben werden können, ist nur durch Lua selbst begrenzt.
Anwendung:
Füge LuaRunner.exe und den Lua-Ordner zum Autot-Projektverzeichnis hinzu.
Führe das Skript in au3 mit einem Befehl wie in BEISPIEL aus.
LuaRunner erkennt, ob es aus SciTE aufgerufen wurde oder nicht. Es wird also die richtige Ausgabeform gewählt.
VORAUSSETZUNGEN
Ein Ordner mit allen Lua-Ordnern und Dateien (\bin\*, \doc\*, \include\*)
Falls irgendwo gespeichert, weise diesen Pfad dem "Global $pathLua" zu.
Oder speichere ihn in demselben Verzeichnis wie "LuaRunner.exe".
Füge den User.properties hinzu (Befehlsnummer, Pfad und Verknüpfung müssen angepasst werden.):
# 49 Lua-Datei mit externem Lua ausführen
command.name.49.$(file.patterns.lua)=Lua-Aufruf mit Parametern
command.49.$(file.patterns.lua)="C:\CODE\AutoIt\TOOLS\LuaRunner.exe" "-f" "$(FilePath)" $(1) $(2) $(3) $(4)
command.mode.49.$(file.patterns.lua)=subsystem:0,savebefore:no
command.shortcut.49.$(file.patterns.lua)=Ctrl+Alt+L
AUFRUF
LuaRunner.exe -f File.lua [P1] [P2] ... [Pn]
LuaRunner.exe -l "Lua-Skriptzeile"
PARAMETER
-f Eine Lua-Datei wird ausgeführt.
-fs Eine Lua-Datei wird im stillen Modus ausgeführt. Es werden nur Fehlermeldungen und das Ergebnis angezeigt.
File.lua Die Datei, die ausgeführt werden soll.
[P1] [P2] ... [Pn] optional: Parameter, die an die Datei File.lua übergeben werden
-l Eine Lua-Skriptzeile wird ausgeführt
-ls Eine Lua-Skriptzeile wird im stillen Modus ausgeführt. Es werden nur Fehlermeldungen und das Ergebnis angezeigt.
"Lua-Skriptzeile" Die Lua-Skriptzeile
BEISPIEL
LuaRunner.exe -f "C:\Code\Lua\example.lua" "some\file\path.txt" "2nd-param"
LuaRunner.exe -l "print('Hallo Welt!')"
HINWEIS
Um beim Aufruf einer Lua-Datei auf die übergebenen Parameter zuzugreifen, wird im Lua-Skript das Table "arg" verwendet.
Im Gegensatz zu normalen Lua-Table hat dieses einen Wert an Index 0: den Pfad der Lua-Datei. Für jeden übergebenen Parameter gibt es einen weiteren Eintrag.
Alles anzeigen