private void RunBlame(BlamePositionModel position) { if (position == null || position.RepoPath == null) { Blame.ClearBlameResult(); } else { ProfileOptimization.StartProfile("Blame"); BlameResult blame = GitWrapper.GetBlameOutput(position.RepoPath, position.FileName, position.CommitId); Blame.SetBlameResult(blame, position.LineNumber ?? 1); } }
protected override async void OnStartup(StartupEventArgs e) { base.OnStartup(e); AppCenter.SetCountryCode(RegionInfo.CurrentRegion.TwoLetterISORegionName); AppCenter.Start("e9b510a9-904c-475b-8055-7a0f931beb8d", typeof(Microsoft.AppCenter.Analytics.Analytics), typeof(Crashes)); var sessionStart = m_analyticsClient.SubmitSessionStartAsync(); foreach (var arg in e.Args) { Log.Info("Command-line arg: {0}", arg); } MainWindowModel mainWindowModel = m_app.MainWindow; BlamePositionModel?position = null; string?filePath = e.Args.Length >= 1 ? e.Args[0] : null; if (filePath == "/restart" && e.Args.Length == 5) { position = new BlamePositionModel(e.Args[1], e.Args[2]) { CommitId = e.Args[3] == "null" ? null : e.Args[3], LineNumber = int.Parse(e.Args[4]), }; } else if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath)) { position = new BlamePositionModel(filePath); int lineNumber; if (e.Args.Length >= 2 && int.TryParse(e.Args[1], NumberStyles.Integer, CultureInfo.InvariantCulture, out lineNumber)) { position.LineNumber = lineNumber; } } mainWindowModel.NavigateTo(position); Window window = new MainWindow(mainWindowModel); window.Show(); await sessionStart.ConfigureAwait(true); await m_analyticsClient.SubmitAppViewAsync("MainWindow").ConfigureAwait(true); }
protected override async void OnStartup(StartupEventArgs e) { base.OnStartup(e); var sessionStart = m_analyticsClient.SubmitSessionStartAsync(); foreach (var arg in e.Args) { Log.InfoFormat("Command-line arg: {0}", arg); } MainWindowModel mainWindowModel = m_app.MainWindow; BlamePositionModel position = null; string filePath = e.Args.Length >= 1 ? e.Args[0] : null; if (filePath == "/restart" && e.Args.Length == 5) { position = new BlamePositionModel(e.Args[1], e.Args[2]) { CommitId = e.Args[3] == "null" ? null : e.Args[3], LineNumber = int.Parse(e.Args[4]), }; } else if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath)) { position = new BlamePositionModel(filePath); int lineNumber; if (e.Args.Length >= 2 && int.TryParse(e.Args[1], NumberStyles.Integer, CultureInfo.InvariantCulture, out lineNumber)) { position.LineNumber = lineNumber; } } mainWindowModel.NavigateTo(position); Window window = new MainWindow(mainWindowModel); window.Show(); await sessionStart; await m_analyticsClient.SubmitAppViewAsync("MainWindow"); }