Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }