Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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);
        }