MiniSharp.InputContext.GenerateLog C# (CSharp) Method

GenerateLog() public method

public GenerateLog ( ) : string
return string
		public string GenerateLog()
		{
			var builder = new StringBuilder();
			foreach (var diagnostic in diagnostics) {
				builder.AppendFormat("{0}({1},{2}): {3}: {4}\n",
					diagnostic.Region.FileName,
					diagnostic.Region.BeginLine + 1,
					diagnostic.Region.BeginColumn + 1,
					diagnostic.ErrorType == ErrorType.Warning ? "warning" : "error",
					diagnostic.Message);
			}
			return builder.ToString();
		}

Usage Example

Esempio n. 1
0
        public static int Main(string[] args)
        {
            var boolFlags = new Dictionary<string, bool> {
                { "--minify", false },
                { "--mangle", false },
                { "--timing", false },
                { "--server", false },
                { "--source-map", false },
            };
            string outputPath = null;

            // Parse command-line arguments
            var inputs = new List<Input>();
            for (var i = 0; i < args.Length; i++) {
                var arg = args[i];

                // Help
                if (arg == "-h" || arg == "-help" || arg == "--help" || arg == "-?" || arg == "/?") {
                    WriteUsage();
                    return 0;
                }

                // Boolean flags
                if (boolFlags.ContainsKey(arg)) {
                    if (boolFlags[arg]) {
                        Console.WriteLine("Duplicate flag \"" + arg + "\"");
                        return 1;
                    }
                    boolFlags[arg] = true;
                    continue;
                }

                // Output file
                if (arg == "--output" || arg == "-o") {
                    if (outputPath != null) {
                        Console.WriteLine("Duplicate flag \"" + arg + "\"");
                        return 1;
                    }
                    if (i + 1 == args.Length) {
                        Console.WriteLine("Missing path for flag \"" + arg + "\"");
                        return 1;
                    }
                    outputPath = args[++i];
                    continue;
                }

                // Invalid flags
                if (arg.StartsWith("-")) {
                    Console.WriteLine("Invalid flag \"" + arg + "\"");
                    return 1;
                }

                // Input files
                inputs.Add(new Input(arg, File.ReadAllText(arg)));
            }

            // The server option ignores all other options
            if (boolFlags["--server"]) {
                return RunLocalServer() ? 0 : 1;
            }

            // Show usage if there are no inputs
            if (inputs.Count == 0) {
                WriteUsage();
                return 1;
            }

            // Parse inputs
            var context = new InputContext();
            if (!context.Compile(inputs)) {
                Console.Write(context.GenerateLog());
                return 1;
            }

            // Generate output
            var output = new OutputContext(context);
            output.ShouldMinify = boolFlags["--minify"];
            output.ShouldMangle = boolFlags["--mangle"];
            output.SourceMap = boolFlags["--source-map"] ? outputPath != null ? SourceMap.External : SourceMap.Inline : SourceMap.None;
            if (outputPath != null) {
                File.WriteAllText(outputPath, output.Code);
                if (output.SourceMap == SourceMap.External) {
                    File.WriteAllText(outputPath + ".map", output.SourceMapCode);
                }
            } else {
                Console.Write(output.Code);
            }

            // Write out timing info for debugging
            if (boolFlags["--timing"]) {
                foreach (var pair in context.timingInMilliseconds) {
                    Console.Error.WriteLine(pair.Key + ": " + pair.Value + "ms");
                }
            }

            return 0;
        }
All Usage Examples Of MiniSharp.InputContext::GenerateLog