public override IEnumerable GetBulbMenuItems()

in Backend/RiderPlugin/ForTea.RiderPlugin/ProtocolAware/RunMarkers/T4FileRunMarkerGutterMark.cs [28:67]


    public override IEnumerable<BulbMenuItem> GetBulbMenuItems(IHighlighter highlighter)
    {
      if (!(highlighter.GetHighlighting() is T4RunMarkerHighlighting highlighting)) yield break;
      var directive = highlighting.Directive;
      yield return new BulbMenuItem(
        CreateRunFileExecutableItem(
          directive,
          (manager, file) => manager.Execute(file),
          T4StatisticIdBundle.RunFromGutter
        ),
        new RichText(Strings.RunTemplate_Text),
        RunMarkersThemedIcons.RunThis.Id,
        BulbMenuAnchors.PermanentBackgroundItems);
      yield return new BulbMenuItem(
        CreateRunFileExecutableItem(
          directive,
          (manager, file) => manager.Debug(file),
          T4StatisticIdBundle.DebugFromGutter
        ),
        new RichText(Strings.DebugTemplate_Text),
        RunMarkersThemedIcons.DebugThis.Id,
        BulbMenuAnchors.PermanentBackgroundItems
      );
      yield return new BulbMenuItem(
        new ExecutableItem(() =>
        {
          var file = (IT4File)directive.GetContainingFile().NotNull();
          var solution = file.GetSolution();
          var statistics = solution.GetComponent<Application.ActivityTrackingNew.UsageStatistics>();
          statistics.TrackAction(T4StatisticIdBundle.PreprocessFromGutter);
          var preprocessingManager = solution.GetComponent<IT4TemplatePreprocessingManager>();
          var model = solution.GetProtocolSolution().GetT4ProtocolModel();
          model.PreprocessingStarted();
          model.PreprocessingFinished(preprocessingManager.Preprocess(file));
        }),
        new RichText(Strings.PreprocessTemplate_Text),
        null,
        BulbMenuAnchors.PermanentBackgroundItems
      );
    }