private MergeMode GetMergeMode()

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