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
);
}