void PopMetaContentScopeStack(SyntaxContext currentContext, SyntaxMatch curMatch) { if (ContextStack.Count() == 1) { return; } PopScopeStack(currentContext.MetaContentScope); }
void PopStack(SyntaxContext currentContext, SyntaxMatch curMatch) { if (ContextStack.Count() == 1) { MatchStack = MatchStack.Clear(); ScopeStack = new ScopeStack(highlighting.definition.Scope); return; } ContextStack = ContextStack.Pop(); if (!MatchStack.IsEmpty) { PopScopeStack(MatchStack.Peek()?.Scope); MatchStack = MatchStack.Pop(); } PopScopeStack(currentContext.MetaScope); if (curMatch.Scope.Count > 0 && !ScopeStack.IsEmpty) { for (int i = 0; i < curMatch.Scope.Count; i++) { ScopeStack = ScopeStack.Pop(); } } }