Exemplo n.º 1
0
        private ICompletionData CompletionData(IEntity entity)
        {

            ICompletionData completionData = null;
            if (entity.Documentation != null)
            {
                completionData = new CompletionData(_signature, _completionText,
                                                    _signature + Environment.NewLine +
                                                    DocumentationConverter.ConvertDocumentation(entity.Documentation));
            }
            else
            {

                var ambience = new CSharpAmbience
                {
                    ConversionFlags = ConversionFlags.ShowParameterList |
                                      ConversionFlags.ShowParameterNames |
                                      ConversionFlags.ShowReturnType |
                                      ConversionFlags.ShowBody |
                                      ConversionFlags.ShowTypeParameterList
                };

                var documentationSignature = ambience.ConvertEntity(entity);
                if (_wantDocumentation)
                {
                    string documentation = new DocumentationFetcher().GetDocumentation(_project, entity);
                    var documentationAndSignature =
                        documentationSignature + Environment.NewLine + documentation;
                    completionData = new CompletionData(_signature, _completionText, documentationAndSignature);
                }
                else
                {
                    completionData = new CompletionData(_signature, _completionText, documentationSignature);
                }
            }
            return completionData;
        }
Exemplo n.º 2
0
 private ICompletionData CompletionData(IEntity entity)
 {
     ICompletionData completionData = null;
     if (entity.Documentation != null)
     {
         completionData = new CompletionData(_signature, _completionText,
                                             _signature + Environment.NewLine +
                                             CodeCompletionItemProvider.ConvertDocumentation(entity.Documentation));
     }
     else
     {
         XmlDocumentationProvider docProvider = null;
         if (entity.ParentAssembly.AssemblyName != null)
         {
             docProvider =
                 XmlDocumentationProviderFactory.Get(entity.ParentAssembly.AssemblyName);
         }
         if (docProvider != null)
         {
             DocumentationComment documentationComment = docProvider.GetDocumentation(entity);
             if (documentationComment != null)
             {
                 var documentation = _signature + Environment.NewLine +
                                     CodeCompletionItemProvider.ConvertDocumentation(
                                         documentationComment.Xml.Text);
                 completionData = new CompletionData(_signature, _completionText, documentation);
             }
             else
             {
                 completionData = new CompletionData(_signature, _completionText, "No documentation");
             }
         }
         else
         {
             completionData = new CompletionData(_signature, _completionText, _signature);
         }
     }
     return completionData;
 }
Exemplo n.º 3
0
 public ICompletionData CreateTypeCompletionData(IType type, bool showFullName, bool isInAttributeContext)
 {
     var completion = new CompletionData(type.Name);
     foreach (var constructor in type.GetConstructors())
     {
         completion.AddOverload(CreateEntityCompletionData(constructor));
     }
     return completion;
 }
Exemplo n.º 4
0
        private ICompletionData CompletionData(IEntity entity)
        {
            ICompletionData completionData = null;
            if (entity.Documentation != null)
            {
                completionData = new CompletionData(_signature, _completionText,
                                                    _signature + Environment.NewLine +
                                                    DocumentationConverter.ConvertDocumentation(entity.Documentation));
            }
            else
            {
                IDocumentationProvider docProvider = null;
                if (entity.ParentAssembly.AssemblyName != null)
                {
                    docProvider =
                        XmlDocumentationProviderFactory.Get(entity.ParentAssembly.AssemblyName);
                }
                var ambience = new CSharpAmbience
                {
                    ConversionFlags = ConversionFlags.ShowParameterList |
                                      ConversionFlags.ShowParameterNames |
                                      ConversionFlags.ShowReturnType |
                                      ConversionFlags.ShowBody |
                                      ConversionFlags.ShowTypeParameterList
                };

                var documentationSignature = ambience.ConvertEntity(entity);
                if (docProvider != null)
                {
                    DocumentationComment documentationComment = docProvider.GetDocumentation(entity);
                    if (documentationComment != null)
                    {
                        var documentation = documentationSignature + Environment.NewLine +
                                            DocumentationConverter.ConvertDocumentation(
                                                documentationComment.Xml.Text);
                        completionData = new CompletionData(_signature, _completionText, documentation);
                    }
                    else
                    {
                        completionData = new CompletionData(_signature, _completionText, documentationSignature);
                    }
                }
                else
                {
                    completionData = new CompletionData(_signature, _completionText, documentationSignature);
                }
            }
            return completionData;
        }
        private void AddMethodHeader(CompletionData completionData, IMethod method)
        {
            var methodDefinition = method.MemberDefinition;

            if (_wantMethodHeader)
            {
                var snippetGenerator = new SnippetGenerator(false);
                completionData.MethodHeader = snippetGenerator.Generate(methodDefinition);
            }

            if (_wantSnippet)
            {
                var snippetGenerator = new SnippetGenerator(true);
                completionData.Snippet = snippetGenerator.Generate(methodDefinition);
            }

            if (_wantReturnType)
            {

                var returnTypeAmbience = new CSharpAmbience { ConversionFlags = ConversionFlags.ShowReturnType };
                completionData.ReturnType = returnTypeAmbience.ConvertSymbol(method).Split(' ').First();
            }
        }
        public ICompletionData CreateTypeCompletionData(IType type, bool showFullName, bool isInAttributeContext, bool addForTypeCreation)
        {
            if (!type.Name.IsValidCompletionFor(_partialWord))
            {
                return new CompletionData("~~");
            }
            CompletionData completion;
            if (_instantiating)
            {
                completion = new CompletionData(type.Name);
                foreach (var constructor in type.GetConstructors())
                {
                    if (type.TypeParameterCount > 0)
                    {
                        GenerateGenericMethodSignature(constructor);
                        ICompletionData completionData = CompletionData(constructor);
                        AddMethodHeader(completionData as CompletionData, constructor);
                        completion.AddOverload(completionData);
                    }
                    else
                    {
                        var entityCompletionData = CreateEntityCompletionData(constructor);
                        AddMethodHeader(entityCompletionData as CompletionData, constructor);
                        completion.AddOverload(entityCompletionData);
                    }
                    AddMethodHeader(completion, constructor);
                }
            }
            else
            {
                var name = type.Name;
                if (type.TypeParameterCount > 0)
                {
                    name += "<";
                }
                completion = new CompletionData(name);
                completion.AddOverload(completion);
            }

            return completion;
        }
Exemplo n.º 7
0
 public ICompletionData CreateTypeCompletionData(IType type, bool showFullName, bool isInAttributeContext)
 {
     if (!type.Name.IsValidCompletionFor(_partialWord))
     {
         return new CompletionData("~~");
     }
     var completion = new CompletionData(type.Name);
     if (_instantiating)
     {
         foreach (var constructor in type.GetConstructors())
         {
             if (type.TypeParameterCount > 0)
             {
                 GenerateGenericMethodSignature(constructor);
                 ICompletionData completionData = CompletionData(constructor);
                 completion.AddOverload(completionData);
             }
             else
             {
                 completion.AddOverload(CreateEntityCompletionData(constructor));
             }
         }
     }
     else
     {
         completion.AddOverload(completion);
     }
     return completion;
 }
Exemplo n.º 8
0
 public ICompletionData CreateVariableCompletionData(IVariable variable)
 {
     var completionData = new CompletionData(variable.Name);
     if (_wantReturnType)
     {
         completionData.ReturnType = _returnTypeAmbience.ConvertSymbol(variable);
     }
     return completionData;
 }
Exemplo n.º 9
0
        private ICompletionData CompletionData(IEntity entity)
        {
            ICompletionData completionData;
            if (entity.Documentation != null)
            {
                completionData = new CompletionData(_signature, _completionText,
                    _signature + _config.TextEditorOptions.EolMarker +
                    DocumentationConverter.ConvertDocumentation(entity.Documentation, _config));
            }
            else
            {
                var ambience = new CSharpAmbience
                {
                    ConversionFlags = ConversionFlags.ShowParameterList |
                    ConversionFlags.ShowParameterNames |
                    ConversionFlags.ShowReturnType |
                    ConversionFlags.ShowBody |
                    ConversionFlags.ShowTypeParameterList
                };

                var documentationSignature = ambience.ConvertSymbol(entity);
                if (_wantDocumentation)
                {
                    string documentation = new DocumentationFetcher().GetDocumentation(_project, entity, _config);
                    var documentationAndSignature =
                        documentationSignature + _config.TextEditorOptions.EolMarker + documentation;
                    completionData = new CompletionData(_signature, _completionText, documentationAndSignature);
                }
                else
                {
                    completionData = new CompletionData(_signature, _completionText, documentationSignature);
                }
            }
            return completionData;
        }
Exemplo n.º 10
0
        private void AddMethodHeader(CompletionData completionData, IMethod method)
        {
            var methodDefinition = method.MemberDefinition;

            if (_wantMethodHeader)
            {
                var snippetGenerator = new SnippetGenerator(false);
                completionData.MethodHeader = snippetGenerator.Generate(methodDefinition);
            }

            if (_wantSnippet)
            {
                var snippetGenerator = new SnippetGenerator(true);
                completionData.Snippet = snippetGenerator.Generate(methodDefinition);
            }

            if (_wantReturnType)
            {
                completionData.ReturnType = _returnTypeAmbience.ConvertSymbol(method);
            }
        }