static void AddParameterList(ThemedMenuText t, SyntaxNode node) { var useParamName = Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.ParameterListShowParamName); if (node is BaseMethodDeclarationSyntax) { t.Append((node as BaseMethodDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName), ThemeHelper.SystemGrayTextBrush); } else if (node.IsKind(SyntaxKind.DelegateDeclaration)) { t.Append((node as DelegateDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName)); } else if (node is OperatorDeclarationSyntax) { t.Append((node as OperatorDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName)); } }
static ThemedMenuText SetHeader(SyntaxNode node, bool includeContainer, bool highlight, bool includeParameterList) { var title = node.GetDeclarationSignature(); if (title == null) { return(null); } if (node.IsStructuredTrivia && Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.StripRegionNonLetter)) { title = TrimNonLetterOrDigitCharacters(title); } if (includeContainer == false && node.IsTypeDeclaration()) { var p = node.Parent; while (p.IsTypeDeclaration()) { title = "..." + title; p = p.Parent; } } var t = new ThemedMenuText(); if (includeContainer) { var p = node.Parent; if (node is VariableDeclaratorSyntax) { p = p.Parent.Parent; } if (p is BaseTypeDeclarationSyntax) { t.Append((p as BaseTypeDeclarationSyntax).Identifier.ValueText + ".", ThemeHelper.SystemGrayTextBrush); } } t.Append(title, highlight); if (includeParameterList && Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.ParameterList)) { AddParameterList(t, node); } return(t); }