private static string CreateArg(CliArgAttribute arg, string argStyle, string valueStyle, string delimiterStyle, bool useOptionalDelimiters = true) { var name = arg.Names.First(); if (!string.IsNullOrEmpty(arg.ValueName)) { return(string.Format( "{10}{6}{11}{0}{1}{2} {10}{8}{11}{3}{4}{5}{10}{9}{11}{10}{7}{11}", argStyle, name, GetReset(argStyle), valueStyle, arg.ValueName, GetReset(valueStyle), arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterLeft), arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterRight), Cli.Escape(_valueDelimterLeft), Cli.Escape(_valueDelimterRight), delimiterStyle, GetReset(delimiterStyle))); } else { return(string.Format( "{5}{3}{6}{0}{1}{2}{5}{4}{6}", argStyle, name, GetReset(argStyle), arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterLeft), arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterRight), delimiterStyle, GetReset(delimiterStyle))); } }
public string EscapeTest(string value) { string result = Cli.Escape(value); return(result); // TODO: add assertions to method CliTest.EscapeTest(String) }
public override void Main(Z80DasmArgs args) { WriteInfoMessage("Disassembling ~Cyan~{0}~R~", args.InputBinaryFile); var symbolFile = Path.ChangeExtension( Path.GetFullPath(args.InputBinaryFile.FullName), "symbols"); Dictionary <ushort, string> symbols; if (File.Exists(symbolFile)) { WriteSuccessMessage("Found symbol file ~Cyan~{0}~R~", symbolFile); symbols = SymbolFileReader.Read(symbolFile); } else { WriteInfoMessage("Could not find symbol file for binary"); symbols = new Dictionary <ushort, string>(); } string dasm; using (var reader = new BinaryReader(args.InputBinaryFile.OpenRead())) { var disassembler = new Z80Disassembler(reader, symbols); var instructions = disassembler.Disassemble(); dasm = new Z80AssemblyFormatter(symbols).Format(instructions); } if (!string.IsNullOrEmpty(args.OutputDisassemblyFile)) { WriteInfoMessage( "Writing disassembled instructions to ~Cyan~{0}~R~", args.OutputDisassemblyFile); File.WriteAllText(args.OutputDisassemblyFile, dasm); } else { Cli.WriteLine(Cli.Escape(dasm)); } WriteSuccessMessage("Done"); }
private List <AphidExpression> ParseCode(string filename) { var code = File.ReadAllText(filename); try { return(AphidParser.Parse(code, isTextDocument: _isText)); } catch (AphidParserException exception) { var msg = ParserErrorMessage.Create(code, exception, true); Cli.WriteCriticalErrorMessage("~Yellow~Error parsing code~R~\r\n\r\n{0}", Cli.Escape(msg)); Environment.Exit(100); throw; } }