Skip to content

Commit e41cfe6

Browse files
committed
CLI: Enable arg table and script style error messages when using file
1 parent e056d1d commit e41cfe6

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/WattleScript/Program.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,12 +202,32 @@ private static bool CheckArgs(string[] args, out ScriptSyntax syntax)
202202
{
203203
var script = new Script(syntax == ScriptSyntax.Lua ? CoreModules.Preset_Default : CoreModules.Preset_DefaultWattle);
204204
script.Options.Syntax = syntax;
205+
var scriptArgs = new Table(script);
206+
for (int i = 1; i < extra.Count; i++)
207+
{
208+
scriptArgs[i] = extra[i];
209+
}
210+
script.Globals["arg"] = scriptArgs;
205211
if (!File.Exists(extra[0]))
206212
{
207213
Console.Error.WriteLine("File not found: {0}", extra[0]);
208214
Environment.Exit(2);
209215
}
210-
script.DoFile(extra[0]);
216+
217+
try
218+
{
219+
script.DoFile(extra[0]);
220+
}
221+
catch (InterpreterException ex)
222+
{
223+
Console.Error.WriteLine(ex.DecoratedMessage ?? ex.Message);
224+
Environment.Exit(1);
225+
}
226+
catch (Exception ex)
227+
{
228+
Console.Error.WriteLine(ex.ToString());
229+
Environment.Exit(1);
230+
}
211231
return true;
212232
}
213233

0 commit comments

Comments
 (0)