in code/src/CoreTemplateStudio/CoreTemplateStudio.Core/PostActions/Catalog/Merge/MergeHandler.cs [171:219]
private MergeMode GetMergeMode(string mergeLine, MergeMode current, string commentSymbol)
{
if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroBeforeMode, StringComparison.Ordinal))
{
return MergeMode.InsertBefore;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroStartGroup, StringComparison.Ordinal))
{
if (current == MergeMode.InsertBefore)
{
insertBefore = true;
return MergeMode.InsertBefore;
}
else
{
return MergeMode.Insert;
}
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroEndGroup, StringComparison.Ordinal))
{
return MergeMode.Context;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroStartDocumentation, StringComparison.Ordinal))
{
return MergeMode.Documentation;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroEndDocumentation, StringComparison.Ordinal))
{
return MergeMode.Context;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroStartDelete, StringComparison.Ordinal))
{
return MergeMode.Remove;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroEndDelete, StringComparison.Ordinal))
{
return MergeMode.Context;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroStartOptionalContext, StringComparison.Ordinal))
{
return MergeMode.OptionalContext;
}
else if (mergeLine.Trim().StartsWith(commentSymbol + MergeMacros.MacroEndOptionalContext, StringComparison.Ordinal))
{
return MergeMode.Context;
}
return current;
}