private static void Main(string[] args) { var parser = new OptionParser <Options>(); if (!parser.TryParse(args, out var options)) { return; } try { var table = new List <Entry>(); if (!options.LocalOnly && new DefaultPublicIpResolver().TryResolve(out var publicIp)) { table.Add("Internet (Public)", publicIp, null); } var allInterfaces = NetworkInterface .GetAllNetworkInterfaces() .Where(i => i.OperationalStatus == OperationalStatus.Up) .ToArray(); table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Ethernet)); table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)); table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Loopback)); table.WriteTable(Console.Out, options.ShowIpv6); } catch (Exception e) { Console.Error.WriteLine(e.Message); parser.WriteUsage(); } }
private static void Main(string[] args) { var parser = new OptionParser <Options>(); if (!parser.TryParse(args, out var options)) { return; } var dateFormatter = new DefaultDateTimeFormatter(); var timeSpanFormatter = new DefaultTimeSpanFormatter(); try { var resolver = GetStrategy(options.Strategy); var uptime = new Uptime(resolver); dateFormatter.Format = options.DateTimeFormat; dateFormatter.UniversalTime = options.UseUtc; timeSpanFormatter.CustomFormat = options.TimeSpanFormat; timeSpanFormatter.Compact = options.Compact; if (options.ShowBootTimeOnly) { dateFormatter.WriteLine(uptime.LastBoot, Console.Out); return; } if (options.ShowOnTimeOnly) { timeSpanFormatter.WriteLine(uptime.UptimeSpan, Console.Out); return; } Console.Write("Boot Time: "); dateFormatter.WriteLine(uptime.LastBoot, Console.Out); Console.Write("Current Time: "); dateFormatter.WriteLine(uptime.Now, Console.Out); Console.Write("Up Time: "); timeSpanFormatter.WriteLine(uptime.UptimeSpan, Console.Out); } catch (Exception e) { Console.Error.WriteLine(e.Message); parser.WriteUsage(); } }
private static void Main(string[] args) { var parser = new OptionParser <Options>(); if (!parser.TryParse(args, out var options)) { return; } try { var provider = new CultureInfo(options.CultureTwoLetterCode); var formatter = new DefaultDateTimeFormatter(formatProvider: provider); if (options.ShowExamples) { new ExampleWriter(formatter).WriteExamples(); return; } if (options.Extra.Count > 1) { throw new InvalidOperationException($"unexpected count of arguments: {options.Extra.ToSeparatedString()}"); } if (options.Extra.Count != 0) { formatter.Format = options.Extra[0]; } formatter.UniversalTime = options.UseUtc; formatter.WriteLine(Console.Out); } catch (Exception e) { Console.Error.WriteLine(e.Message); parser.WriteUsage(); } }
static void Main(string[] args) { var parser = new OptionParser <Options>(); if (!parser.TryParse(args, out var options)) { return; } var versions = new MsBuildVersions(); if (options.ListInstallations) { // print all installed msbuild versions to stdout foreach (var info in versions.All) { var v = info.Version; var path = info.FilePath; Console.WriteLine($" {v.Major,2}.{v.Minor,-2} {info.Arch} {path}"); } return; } if (options.Extra.Count == 0) { Console.WriteLine("please specify a .NET solution or project to build"); return; } var projectsAndSolutions = options.Extra.Select(i => $"\"{i}\"").ToSeparatedString(" "); var configuration = options.DebugBuild ? "/p:Configuration=Debug" : "/p:Configuration=Release"; var latest = versions.Latest; new CliRunner(latest.FilePath, $"{configuration} {projectsAndSolutions}") .Redirect(Console.Out); }
public void TryParse_GivenValueCanNotBeParsed_ReturnsFalse() { Given_ValueCanNotBeParsed(); Assert.That(_parser.TryParse(_value, out _byteEnum), Is.False); }