private static Script getInlineScript(ScriptContext context, List<string> filteredArgs) { string name = null; string vn = null; if (context.IsSet(xs.execRest)) { name = "//"; vn = xs.execRest; } else if (context.IsSet(xs.execRestD)) { name = "//#"; vn = xs.execRestD; } else if (context.IsSet(xs.execRestP)) { name = "//p"; vn = xs.execRestP; } if (name!=null) { string c = Environment.CommandLine; int n = c.IndexOf("/" + name, StringComparison.OrdinalIgnoreCase); if (n == -1) throw new ScriptRuntimeException("Invalid command line"); string s = c.Substring(n + name.Length + 1).Trim(); if (s.Length>0 && s[0]=='"') { var args=context.GetArrayT<string>(vn); s = args[0]; filteredArgs.Clear(); for (int i = 1; i < args.Length;++i) filteredArgs.Add(args[i]); } if (context.IsSet(xs.execRestD) && s.Length > 0 && s[0] == '?') s = s.Substring(1); if (context.IsSet(xs.execRestD)) return execGenerator(context, s, "c.Dump(", ")"); if (context.IsSet(xs.execRestP)) return execGenerator(context, s, "c.WriteLine(", ")"); return execGenerator(context, s, null, null); } if (context.IsSet(xs.download)) return genDownload(context, filteredArgs); if (context.IsSet(xs.zip)) return genZip(context, filteredArgs); if (context.IsSet(xs.unzip)) return genUnzip(context, filteredArgs); if (context.GetBool(xs.version, false)) return genVersion(context); return null; }