public static void RunGuiMode(CommandLineOptions options) { Runtime.ProgramFeature = "kiezellisp-gui"; Runtime.DebugMode = options.Debug; Runtime.Repl = false; Runtime.OptimizerEnabled = !Runtime.DebugMode; Runtime.ScriptName = options.ScriptName; Runtime.UserArguments = options.UserArguments; try { Runtime.Reset(); Runtime.RestartLoadFiles(0); Runtime.Run(options.ScriptName, Symbols.LoadPrintKeyword, false, Symbols.LoadVerboseKeyword, false); Runtime.Exit(); } catch (Exception ex) { Runtime.PrintTrace(Runtime.GetDiagnostics(ex)); } }
public static void RunConsoleMode(CommandLineOptions options) { Runtime.ProgramFeature = "kiezellisp-con"; Runtime.DebugMode = options.Debug; Runtime.Repl = options.Repl; Runtime.OptimizerEnabled = !Runtime.DebugMode; Runtime.ScriptName = options.ScriptName; Runtime.UserArguments = options.UserArguments; if (options.ScriptName == null) { var assembly = Assembly.GetExecutingAssembly(); var fileVersion = FileVersionInfo.GetVersionInfo(assembly.Location); Console.WriteLine(Runtime.GetVersion()); Console.WriteLine(fileVersion.LegalCopyright); Console.WriteLine("Type `help` for help on top-level commands"); } ReadEvalPrintLoop(commandOptionArgument: options.ScriptName, initialized: false); }
public static void Init(CommandLineOptions options) { Options = options; Width = options.Width; Height = options.Height; SetFrameType(FrameType.Thin); DefaultForeColor = MakeColor(options.ForeColor); DefaultBackColor = MakeColor(options.BackColor); DefaultInfoColor = MakeColor(options.InfoColor); DefaultErrorColor = MakeColor(options.ErrorColor); DefaultWarningColor = MakeColor(options.WarningColor); DefaultHighlightForeColor = MakeColor(options.HighlightForeColor); DefaultHighlightBackColor = MakeColor(options.HighlightBackColor); DefaultShadowBackColor = MakeColor(options.ShadowBackColor); InitFonts(options.FontName, options.FontSize); TerminalWindow = new ReplTextForm(new TextWindowCreateArgs(options)); StdScr = TerminalWindow.Content.Window; TerminalWindow.Show(); TerminalWindow.Activate(); Runtime.CreateThread(RunGuiReplMode); Application.Run(TerminalWindow); }
public TextWindowCreateArgs(CommandLineOptions options) { // // Called for REPL window // Left = -1; Top = -1; Width = options.Width; Height = options.Height; BufferWidth = Math.Max(Width, options.BufferWidth); BufferHeight = Math.Max(Height, options.BufferHeight); ForeColor = RuntimeRepl.MakeColor(options.ForeColor); BackColor = RuntimeRepl.MakeColor(options.BackColor); Caption = "Kiezellisp"; Visible = true; Resizable = true; Scrollable = true; CodeCompletion = true; HtmlPrefix = options.HtmlPrefix; Owned = false; Border = true; OnCloseFunction = null; }
public static CommandLineOptions ParseArgs(string[] args) { var defaults = ParseReplConfigurationFile(GetReplConfigurationFile()); var options = new CommandLineOptions(defaults); var parser = new CommandLineParser(); parser.AddOption("--debug"); parser.AddOption("--release"); parser.AddOption("--repl"); parser.AddOption("--no-repl"); parser.AddOption("--width number"); parser.AddOption("--height number"); parser.AddOption("--buffer-width number"); parser.AddOption("--buffer-height number"); parser.AddOption("--fore-color name"); parser.AddOption("--back-color name"); parser.AddOption("--info-color name"); parser.AddOption("--error-color name"); parser.AddOption("--warning-color name"); parser.AddOption("--highlight-fore-color name"); parser.AddOption("--highlight-back-color name"); parser.AddOption("--shadow-back-color name"); parser.AddOption("--font-name name"); parser.AddOption("--font-size size"); parser.AddOption("--html-prefix str"); parser.Parse(args); var s = parser.GetArgument(0); if (s != null) { options.ScriptName = s; options.Debug = false; options.Repl = false; options.UserArguments = Runtime.AsList(parser.GetArgumentArray(1)); } if (parser.GetOption("repl") != null) { options.Repl = true; } if (parser.GetOption("no-repl") != null) { options.Repl = false; } if (parser.GetOption("release") != null) { options.Debug = false; } if (parser.GetOption("debug") != null) { options.Debug = true; } if ((s = parser.GetOption("width")) != null) { options.Width = (int)s.ParseNumber(); } if ((s = parser.GetOption("height")) != null) { options.Height = (int)s.ParseNumber(); options.BufferHeight = 10 * options.Height; } if ((s = parser.GetOption("buffer-height")) != null) { options.BufferHeight = (int)s.ParseNumber(); } if ((s = parser.GetOption("fore-color")) != null) { options.ForeColor = s; } if ((s = parser.GetOption("back-color")) != null) { options.BackColor = s; } if ((s = parser.GetOption("info-color")) != null) { options.InfoColor = s; } if ((s = parser.GetOption("error-color")) != null) { options.ErrorColor = s; } if ((s = parser.GetOption("warning-color")) != null) { options.BackColor = s; } if ((s = parser.GetOption("highlight-fore-color")) != null) { options.HighlightForeColor = s; } if ((s = parser.GetOption("highlight-back-color")) != null) { options.HighlightBackColor = s; } if ((s = parser.GetOption("shadow-back-color")) != null) { options.ShadowBackColor = s; } if ((s = parser.GetOption("font-name")) != null) { options.FontName = s; } if ((s = parser.GetOption("font-size")) != null) { options.FontSize = (int)s.ParseNumber(); } if ((s = parser.GetOption("html-prefix")) != null) { options.HtmlPrefix = s; } return(options); }