private static CompletionItem CreateSymbolCompletion(Symbol symbol, SymbolMarkupToken nameSuffix = null)
        {
            var displayText = symbol.Name;

            var description = symbol.ToMarkup();

            var descriptionTokens = description.Tokens;

            if (nameSuffix != null)
            {
                descriptionTokens = descriptionTokens.Add(nameSuffix);
            }

            if (!string.IsNullOrEmpty(symbol.Documentation))
            {
                descriptionTokens = descriptionTokens.Add(new SymbolMarkupToken(SymbolMarkupKind.Whitespace, "\n"));
                descriptionTokens = descriptionTokens.Add(new SymbolMarkupToken(SymbolMarkupKind.PlainText, symbol.Documentation));
            }

            var glyph = symbol.GetGlyph();

            return(CommonCompletionItem.Create(
                       displayText,
                       CompletionItemRules.Default,
                       glyph,
                       descriptionTokens));
        }
Esempio n. 2
0
        private Inline GetInline(SymbolMarkupToken markupToken)
        {
            switch (markupToken.Kind)
            {
            case SymbolMarkupKind.Keyword:
                return(GetClassifiedText(markupToken.Text, _classificationService.Keyword));

            case SymbolMarkupKind.Punctuation:
                return(GetClassifiedText(markupToken.Text, _classificationService.Punctuation));

            case SymbolMarkupKind.Whitespace:
                return(GetClassifiedText(markupToken.Text, _classificationService.WhiteSpace));

            case SymbolMarkupKind.TableName:
                return(GetClassifiedText(markupToken.Text, _classificationService.SchemaTable));

            case SymbolMarkupKind.CommonTableExpressionName:
                return(GetClassifiedText(markupToken.Text, _classificationService.CommonTableExpression));

            case SymbolMarkupKind.ColumnName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Column));

            case SymbolMarkupKind.VariableName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Variable));

            case SymbolMarkupKind.ParameterName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Identifier));    // TODO: Fix this

            case SymbolMarkupKind.FunctionName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Function));

            case SymbolMarkupKind.AggregateName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Aggregate));

            case SymbolMarkupKind.MethodName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Method));

            case SymbolMarkupKind.PropertyName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Property));

            case SymbolMarkupKind.TypeName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Identifier));    // TODO: Fix this

            default:
                throw ExceptionBuilder.UnexpectedValue(markupToken.Kind);
            }
        }
Esempio n. 3
0
        private static void AppendNode(this StringBuilder sb, SymbolMarkupToken token, INQueryClassificationTypes classificationTypes, IHighlightingStyleRegistry highlightingStyleRegistry)
        {
            var classificationType = GetClassificationType(token.Kind, classificationTypes);

            sb.AppendText(token.Text, classificationType, highlightingStyleRegistry);
        }
Esempio n. 4
0
 private Inline GetInline(SymbolMarkupToken markupToken)
 {
     switch (markupToken.Kind)
     {
         case SymbolMarkupKind.Keyword:
             return GetClassifiedText(markupToken.Text, _classificationService.Keyword);
         case SymbolMarkupKind.Punctuation:
             return GetClassifiedText(markupToken.Text, _classificationService.Punctuation);
         case SymbolMarkupKind.Whitespace:
             return GetClassifiedText(markupToken.Text, _classificationService.WhiteSpace);
         case SymbolMarkupKind.LocalVariableName:
             return GetClassifiedText(markupToken.Text, _classificationService.LocalVariableIdentifier);
         case SymbolMarkupKind.ConstantBufferVariableName:
             return GetClassifiedText(markupToken.Text, _classificationService.ConstantBufferVariableIdentifier);
         case SymbolMarkupKind.GlobalVariableName:
             return GetClassifiedText(markupToken.Text, _classificationService.GlobalVariableIdentifier);
         case SymbolMarkupKind.ParameterName:
             return GetClassifiedText(markupToken.Text, _classificationService.ParameterIdentifier);
         case SymbolMarkupKind.FunctionName:
             return GetClassifiedText(markupToken.Text, _classificationService.FunctionIdentifier);
         case SymbolMarkupKind.MethodName:
             return GetClassifiedText(markupToken.Text, _classificationService.MethodIdentifier);
         case SymbolMarkupKind.FieldName:
             return GetClassifiedText(markupToken.Text, _classificationService.FieldIdentifier);
         case SymbolMarkupKind.IntrinsicTypeName:
             return GetClassifiedText(markupToken.Text, _classificationService.ClassIdentifier);
         case SymbolMarkupKind.ClassName:
             return GetClassifiedText(markupToken.Text, _classificationService.ClassIdentifier);
         case SymbolMarkupKind.StructName:
             return GetClassifiedText(markupToken.Text, _classificationService.StructIdentifier);
         case SymbolMarkupKind.ConstantBufferName:
             return GetClassifiedText(markupToken.Text, _classificationService.ConstantBufferIdentifier);
         case SymbolMarkupKind.InterfaceName:
             return GetClassifiedText(markupToken.Text, _classificationService.InterfaceIdentifier);
         case SymbolMarkupKind.NamespaceName:
             return GetClassifiedText(markupToken.Text, _classificationService.Identifier);
         case SymbolMarkupKind.SemanticName:
             return GetClassifiedText(markupToken.Text, _classificationService.Semantic);
         case SymbolMarkupKind.TechniqueName:
             return GetClassifiedText(markupToken.Text, _classificationService.Identifier);
         case SymbolMarkupKind.PlainText:
             return GetClassifiedText(markupToken.Text, _classificationService.Other);
         default:
             throw new ArgumentOutOfRangeException(nameof(markupToken.Kind));
     }
 }
Esempio n. 5
0
        private Inline GetInline(SymbolMarkupToken markupToken)
        {
            switch (markupToken.Kind)
            {
            case SymbolMarkupKind.Keyword:
                return(GetClassifiedText(markupToken.Text, _classificationService.Keyword));

            case SymbolMarkupKind.Punctuation:
                return(GetClassifiedText(markupToken.Text, _classificationService.Punctuation));

            case SymbolMarkupKind.Whitespace:
                return(GetClassifiedText(markupToken.Text, _classificationService.WhiteSpace));

            case SymbolMarkupKind.LocalVariableName:
                return(GetClassifiedText(markupToken.Text, _classificationService.LocalVariableIdentifier));

            case SymbolMarkupKind.ConstantBufferVariableName:
                return(GetClassifiedText(markupToken.Text, _classificationService.ConstantBufferVariableIdentifier));

            case SymbolMarkupKind.GlobalVariableName:
                return(GetClassifiedText(markupToken.Text, _classificationService.GlobalVariableIdentifier));

            case SymbolMarkupKind.ParameterName:
                return(GetClassifiedText(markupToken.Text, _classificationService.ParameterIdentifier));

            case SymbolMarkupKind.FunctionName:
                return(GetClassifiedText(markupToken.Text, _classificationService.FunctionIdentifier));

            case SymbolMarkupKind.MethodName:
                return(GetClassifiedText(markupToken.Text, _classificationService.MethodIdentifier));

            case SymbolMarkupKind.FieldName:
                return(GetClassifiedText(markupToken.Text, _classificationService.FieldIdentifier));

            case SymbolMarkupKind.IntrinsicTypeName:
                return(GetClassifiedText(markupToken.Text, _classificationService.ClassIdentifier));

            case SymbolMarkupKind.ClassName:
                return(GetClassifiedText(markupToken.Text, _classificationService.ClassIdentifier));

            case SymbolMarkupKind.StructName:
                return(GetClassifiedText(markupToken.Text, _classificationService.StructIdentifier));

            case SymbolMarkupKind.ConstantBufferName:
                return(GetClassifiedText(markupToken.Text, _classificationService.ConstantBufferIdentifier));

            case SymbolMarkupKind.InterfaceName:
                return(GetClassifiedText(markupToken.Text, _classificationService.InterfaceIdentifier));

            case SymbolMarkupKind.NamespaceName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Identifier));

            case SymbolMarkupKind.SemanticName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Semantic));

            case SymbolMarkupKind.TechniqueName:
                return(GetClassifiedText(markupToken.Text, _classificationService.Identifier));

            case SymbolMarkupKind.PlainText:
                return(GetClassifiedText(markupToken.Text, _classificationService.Other));

            default:
                throw new ArgumentOutOfRangeException(nameof(markupToken.Kind));
            }
        }
 private static bool IsAsKeyword(SymbolMarkupToken token)
 {
     return(token.Kind == SymbolMarkupKind.Keyword && SyntaxFacts.GetKeywordKind(token.Text) == SyntaxKind.AsKeyword);
 }
 private static bool IsCommaToken(SymbolMarkupToken token)
 {
     return(token.Kind == SymbolMarkupKind.Punctuation && token.Text == @",");
 }