public AmbienceReflectionDecorator(IAmbience conv)
		{
			if (conv == null) {
				throw new System.ArgumentNullException("conv");
			}
			this.conv = conv;
		}
Пример #2
0
		public GoToMemberAction(IMember member, IAmbience ambience)
		{
			if (ambience == null)
				throw new ArgumentNullException("ambience");
			if (member == null)
				throw new ArgumentNullException("member");
			this.Member = member;
			this.Title = ambience.Convert(member);
		}
Пример #3
0
		public GoToClassAction(IClass c, IAmbience ambience)
		{
			if (ambience == null)
				throw new ArgumentNullException("ambience");
			if (c == null)
				throw new ArgumentNullException("c");
			this.Class = c;
			this.Title = ambience.Convert(c);
		}
 void AddClasses(ArrayList items, ICollection <IClass> classes)
 {
     foreach (IClass c in classes)
     {
         IAmbience ambience = AmbienceService.GetCurrentAmbience();
         ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedMemberNames | ConversionFlags.ShowTypeParameterList;
         items.Add(new ComboBoxItem(c, ambience.Convert(c), ClassBrowserIconService.GetIcon(c), true));
         AddClasses(items, c.InnerClasses);
     }
 }
Пример #5
0
 public override string ToString()
 {
     if (cachedStringRepresentation == null)
     {
         IAmbience ambience = AmbienceService.GetCurrentAmbience();
         ambience.ConversionFlags   = ConversionFlags.ShowParameterNames;
         cachedStringRepresentation = ambience.Convert(method);
     }
     return(cachedStringRepresentation);
 }
        public string GetInsightData(int number)
        {
            IMember   method = methods[number];
            IAmbience conv   = AmbienceService.GetCurrentAmbience();

            conv.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames;
            string documentation = method.Documentation;
            string text          = conv.Convert(method);

            return(text + "\n" + CodeCompletionData.ConvertDocumentation(documentation));
        }
Пример #7
0
 public CodeCompletionData(IEvent e)
 {
     member   = e;
     ambience = Parser.ProjectParser.CurrentAmbience;
     ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers;
     imageIndex    = ScriptControl.GetIcon(e);
     text          = e.Name;
     description   = ambience.Convert(e);
     documentation = e.Documentation;
     GetPriority(e.DotNetName);
 }
Пример #8
0
        static string GetMemberText(IAmbience ambience, IEntity member, string expression, out bool debuggerCanShowValue)
        {
            bool tryDisplayValue = false;

            debuggerCanShowValue = false;
            StringBuilder text = new StringBuilder();

            if (member is IField)
            {
                text.Append(ambience.Convert(member as IField));
                tryDisplayValue = true;
            }
            else if (member is IProperty)
            {
                text.Append(ambience.Convert(member as IProperty));
                tryDisplayValue = true;
            }
            else if (member is IEvent)
            {
                text.Append(ambience.Convert(member as IEvent));
            }
            else if (member is IMethod)
            {
                text.Append(ambience.Convert(member as IMethod));
            }
            else if (member is IClass)
            {
                text.Append(ambience.Convert(member as IClass));
            }
            else
            {
                text.Append("unknown member ");
                text.Append(member.ToString());
            }
            if (tryDisplayValue && currentDebugger != null)
            {
                LoggingService.Info("asking debugger for value of '" + expression + "'");
                string currentValue = currentDebugger.GetValueAsString(expression);
                if (currentValue != null)
                {
                    debuggerCanShowValue = true;
                    text.Append(" = ");
                    text.Append(currentValue);
                }
            }
            string documentation = member.Documentation;

            if (documentation != null && documentation.Length > 0)
            {
                text.Append('\n');
                text.Append(ICSharpCode.SharpDevelop.Editor.CodeCompletion.CodeCompletionItem.ConvertDocumentation(documentation));
            }
            return(text.ToString());
        }
Пример #9
0
 public CodeCompletionData(IEvent e)
 {
     member   = e;
     ambience = AmbienceService.CurrentAmbience;
     ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers;
     imageIndex    = ClassBrowserIconService.GetIcon(e);
     text          = e.Name;
     description   = ambience.Convert(e);
     documentation = e.Documentation;
     GetPriority(e.DotNetName);
 }
Пример #10
0
 public CodeCompletionData(IProperty property)
 {
     _member   = property;
     _ambience = Parser.ProjectParser.CurrentAmbience;
     _ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers;
     _imageIndex    = ScriptControl.GetIcon(property);
     _text          = property.Name;
     _description   = _ambience.Convert(property);
     _documentation = property.Documentation;
     GetPriority(property.DotNetName);
 }
Пример #11
0
        public void SetupDataProvider(string fileName)
        {
            IExpressionFinder expressionFinder;

            if (IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic)
            {
                expressionFinder = new VBExpressionFinder();
            }
            else
            {
                expressionFinder = new CSharpExpressionFinder(iForm.ParseInformation);
            }

            //TextLocation position = m_textarea.Caret.Position;
            //ExpressionResult expression = expressionFinder.FindFullExpression(m_textarea.MotherTextEditorControl.Text, m_textarea.Document.PositionToOffset(position));
            //if (expression.Region.IsEmpty)
            //{
            //    expression.Region = new DomRegion(position.Line + 1, position.Column + 1);
            //}
            ExpressionResult expression = expressionFinder.FindFullExpression(
                m_textarea.MotherTextEditorControl.Text,
                m_textarea.MotherTextEditorControl.Document.PositionToOffset(m_textarea.Caret.Position) - 1);

            if (expression.Region.IsEmpty)
            {
                expression.Region = new DomRegion(m_textarea.Caret.Position.Line + 1, m_textarea.Caret.Position.Column + 1);
            }



            NRefactoryResolver resolver = new NRefactoryResolver(iForm.ProjectContent.Language);
            ResolveResult      rr       = resolver.Resolve(expression, iForm.ParseInformation, m_textarea.MotherTextEditorControl.Text);

            List <string> lines = new List <string>();

            if (rr is MethodGroupResolveResult)
            {
                MethodGroupResolveResult mrr = rr as MethodGroupResolveResult;
                IAmbience ambience           = IntellisenseForm.SupportedLanguage == ESupportedLanguage.VisualBasic ? (IAmbience) new VBNetAmbience() : new CSharpAmbience();
                ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.ShowAccessibility;

                foreach (MethodGroup methodgroup in mrr.Methods)
                {
                    foreach (IMethod method in methodgroup)
                    {
                        lines.Add(ToolTipProvider.GetMemberText(ambience, method));
                    }
                }
            }

            m_insighttext         = (lines.Count > 0) ? lines.ToArray() : null;
            m_argumentstartoffset = m_textarea.Caret.Offset;
        }
Пример #12
0
        public CodeCompletionData(IMember member)
        {
            this.entity = member;
            imageIndex  = ClassBrowserIconService.GetIcon(member);
            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags = ConversionFlags.None;
            text = ambience.Convert(member);
            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
            description = ambience.Convert(member);
            InitializePriority(member.DotNetName);
        }
Пример #13
0
        protected override void PrepareMembersContent()
        {
            Items.Clear();
            IMethod   invokeMethod = RepresentedClassType.SearchMember("Invoke", RepresentedClassType.ProjectContent.Language) as IMethod;
            IAmbience ambience     = GetAmbience();

            foreach (IParameter par in invokeMethod.Parameters)
            {
                TextSegment ts = new TextSegment(Graphics, par.Name + " : " + ambience.Convert(par.ReturnType), MemberFont, true);
                Items.Add(ts);
            }
        }
        public CompilationUnitCreatorVisitor(IProjectContent projectContent, string fileContent, string fileName, string[] lexerTags)
        {
            this.CompilationUnit = new XamlCompilationUnit(projectContent);

            this.CompilationUnit.FileName = fileName;
            this.fileContent     = fileContent;
            this.lexerTags       = lexerTags;
            this.projectContent  = projectContent;
            this.currentAmbience = projectContent.Language.GetAmbience();

            this.nodeStack = new Stack <NodeWrapper>();
        }
		public CompilationUnitCreatorVisitor(IProjectContent projectContent, string fileContent, string fileName, string[] lexerTags)
		{
			this.CompilationUnit = new XamlCompilationUnit(projectContent);
			
			this.CompilationUnit.FileName = fileName;
			this.fileContent = fileContent;
			this.lexerTags = lexerTags;
			this.projectContent = projectContent;
			this.currentAmbience = projectContent.Language.GetAmbience();
			
			this.nodeStack = new Stack<NodeWrapper>();
		}
        /// <summary>
        /// Converts a member to text.
        /// Returns the declaration of the member as C# or VB code, e.g.
        /// "public void MemberName(string parameter)"
        /// </summary>
        static string GetText(IEntity entity)
        {
            IAmbience ambience = csharpAmbience;

            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
            if (entity is ITypeDefinition)
            {
                // Show fully qualified Type name
                ambience.ConversionFlags |= ConversionFlags.UseFullyQualifiedTypeNames;
            }
            return(ambience.ConvertEntity(entity));
        }
Пример #17
0
 public CodeCompletionData(IClass c)
 {
     ambience = Parser.ProjectParser.CurrentAmbience;
     // save class (for the delegate description shortcut)
     this.c     = c;
     imageIndex = ScriptControl.GetIcon(c);
     ambience.ConversionFlags = ConversionFlags.None;
     text = ambience.Convert(c);
     ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedNames | ConversionFlags.ShowReturnType | ConversionFlags.ShowModifiers;
     description   = ambience.Convert(c);
     documentation = c.Documentation;
     GetPriority(c.DotNetName);
 }
Пример #18
0
        object GetText()
        {
            var member = model.Resolve();

            if (member == null)
            {
                return(model.Name);
            }
            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.ShowParameterList | ConversionFlags.ShowParameterNames;
            return(ambience.ConvertSymbol(member));
        }
Пример #19
0
 public GoToClassAction(IClass c, IAmbience ambience)
 {
     if (ambience == null)
     {
         throw new ArgumentNullException("ambience");
     }
     if (c == null)
     {
         throw new ArgumentNullException("c");
     }
     this.Class = c;
     this.Title = ambience.Convert(c);
 }
Пример #20
0
 public GoToMemberAction(IMember member, IAmbience ambience)
 {
     if (ambience == null)
     {
         throw new ArgumentNullException("ambience");
     }
     if (member == null)
     {
         throw new ArgumentNullException("member");
     }
     this.Member = member;
     this.Title  = ambience.Convert(member);
 }
Пример #21
0
 internal static string GetText(IClass c)
 {
     if (ICSharpCode.Core.PropertyService.Initialized)
     {
         IAmbience ambience = c.ProjectContent.Language.GetAmbience();
         ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList;
         return(ambience.Convert(c));
     }
     else
     {
         return(c.Name);
     }
 }
Пример #22
0
        public CodeCompletionData(IClass c)
        {
            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            // save class (for the delegate description shortcut)
            this.entity = c;
            imageIndex  = ClassBrowserIconService.GetIcon(c);
            ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList;
            text = ambience.Convert(c);
            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags | ConversionFlags.UseFullyQualifiedMemberNames;
            description = ambience.Convert(c);
            InitializePriority(c.DotNetName);
        }
Пример #23
0
        object GenerateHeader()
        {
            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;

            if (headerText == null)
            {
                headerText = ambience.Convert(entity);
            }

            if (highlightParameter < 0)
            {
                return(headerText);
            }

            if (entity is IMethod)
            {
                var    method = entity as IMethod;
                string param  = "";
                if (method.Parameters.Count > highlightParameter)
                {
                    param = ambience.Convert(method.Parameters[highlightParameter]);
                }

                if (!string.IsNullOrEmpty(param))
                {
                    // append ','  or ')' to avoid missing highlighting if there are multiple parameter names starting with the same substring.
                    string[] parts = headerText.Split(new[] { param + (method.Parameters.Count - 1 == highlightParameter ? ')' : ',') }, StringSplitOptions.None);
                    if (parts.Length != 2)
                    {
                        return(headerText);
                    }
                    return(new TextBlock
                    { // add text wrapping
                        TextWrapping = TextWrapping.Wrap,
                        Inlines =
                        {
                            parts[0],
                            new Bold()
                            {
                                Inlines = { param }
                            },
                            (method.Parameters.Count - 1 == highlightParameter ? ')' : ',') + parts[1]
                        }
                    });
                }
            }

            return(headerText);
        }
Пример #24
0
		// TODO: i think these really belong in the model (ExtractInterfaceOptions)
		//       rather than the view's code-behind...
		string FormatMemberForDisplay(IMember m)
		{
			IAmbience ambience = options.ClassEntity.ProjectContent.Language.GetAmbience();
			
			if (m is IProperty)
				ambience.ConversionFlags |= ConversionFlags.IncludeBody;
			ambience.ConversionFlags &= ~(ConversionFlags.ShowAccessibility | ConversionFlags.ShowModifiers);
			
			return ambience.Convert(m)
				.Replace('\n', ' ')
				.Replace('\t', ' ')
				.Replace('\r', ' ')
				.Replace("  ", " ");
		}
Пример #25
0
        object GenerateHeader()
        {
            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;

            if (headerText == null)
            {
                headerText = ambience.Convert(entity);
            }

            if (highlightParameter < 0)
            {
                return(headerText);
            }

            if (entity is IMethod)
            {
                var    method = entity as IMethod;
                string param  = "";
                if (method.Parameters.Count > highlightParameter)
                {
                    param = ambience.Convert(method.Parameters[highlightParameter]);
                }

                if (!string.IsNullOrEmpty(param))
                {
                    string[] parts = headerText.Split(new[] { param }, StringSplitOptions.None);
                    if (parts.Length != 2)
                    {
                        return(headerText);
                    }
                    return(new Span()
                    {
                        Inlines =
                        {
                            parts[0],
                            new Bold()
                            {
                                Inlines = { param }
                            },
                            parts[1]
                        }
                    });
                }
            }

            return(headerText);
        }
Пример #26
0
		public SettingsView()
		{
			InitializeComponent();
			
			ambience = AmbienceService.GetCurrentAmbience();
			foreach (Type type in defaultAvailableTypes) {
				types.Add(type);
				typeNames.Add(ambience.GetIntrinsicTypeName(type.FullName));
			}
			foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors) {
				types.Add(d.type);
				typeNames.Add(d.name);
			}
			
			ScopeColumn.DataSource = Enum.GetValues(typeof(SettingScope));
			TypeColumn.DataSource = typeNames;
		}
Пример #27
0
        public SettingsView()
        {
            InitializeComponent();
            ambience    = AmbienceService.GetCurrentAmbience();
            compilation = MinimalCorlib.Instance.CreateCompilation();

            foreach (Type type in defaultAvailableTypes)
            {
                types.Add(type);
                typeNames.Add(ambience.ConvertType(type.ToTypeReference().Resolve(compilation)));
            }
            foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors)
            {
                types.Add(d.type);
                typeNames.Add(d.name);
            }
            Entries = new ObservableCollection <SettingsVM>();
        }
Пример #28
0
            public EntityItem(IEntity entity, int typeCode)
            {
                this.IsInSamePart = true;
                this.entity       = entity;
                this.typeCode     = typeCode;
                IAmbience ambience = entity.ProjectContent.Language.GetAmbience();

                if (entity is IClass)
                {
                    ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.UseFullyQualifiedMemberNames;
                }
                else
                {
                    ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList | ConversionFlags.ShowParameterList | ConversionFlags.ShowParameterNames;
                }
                text  = ambience.Convert(entity);
                image = ClassBrowserIconService.GetIcon(entity);
            }
Пример #29
0
        public FieldWrapper(IField member)
        {
            if (member == null)
            {
                throw new ArgumentNullException("member");
            }

            this.field = member;
            addSetter  = true;

            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags |=
                ConversionFlags.ShowReturnType
                | ConversionFlags.ShowModifiers
                | ConversionFlags.ShowAccessibility;
            this.text = ambience.ConvertSymbol(member);
        }
Пример #30
0
        protected virtual void PrepareTitles()
        {
            if (classtype == null)
            {
                return;
            }

            IAmbience ambience = GetAmbience();

            DrawableItemsStack title = new DrawableItemsStack();

            title.OrientationAxis = Axis.X;

            TextSegment titleString = new TextSegment(base.Graphics, classtype.Name, TitleFont, true);

            title.Add(titleString);
            title.Add(collapseExpandShape);

            collapseExpandShape.Collapsed = Collapsed;

            titles.OrientationAxis = Axis.Y;

            titles.Add(title);

            titles.Add(new TextSegment(base.Graphics, typeclass, SubtextFont, true));

            if (classtype.BaseClass != null)
            {
                DrawableItemsStack inherits = new DrawableItemsStack();
                inherits.OrientationAxis = Axis.X;
                inherits.Add(new InheritanceShape());
                inherits.Add(new TextSegment(base.Graphics, classtype.BaseClass.Name, SubtextFont, true));
                titles.Add(inherits);
            }

            foreach (IReturnType rt in classtype.BaseTypes)
            {
                IClass ct = rt.GetUnderlyingClass();
                if (ct != null && ct.ClassType == ClassType.Interface)
                {
                    interfaces.Add(new TextSegment(base.Graphics, ambience.Convert(rt), SubtextFont, true));
                }
            }
        }
    public CSharpDocumentationBuilder(IAmbience ambience) {
      this.ambience = ambience;
      this.flowDocument = new FlowDocument();
      this.blockCollection = flowDocument.Blocks;

      this.ShowSummary = true;
      this.ShowAllParameters = true;
      this.ShowReturns = true;
      this.ShowThreadSafety = true;
      this.ShowExceptions = true;
      this.ShowTypeParameters = true;

      this.ShowExample = true;
      this.ShowPreliminary = true;
      this.ShowSeeAlso = true;
      this.ShowValue = true;
      this.ShowPermissions = true;
      this.ShowRemarks = true;
    }
Пример #32
0
        public SettingsView()
        {
            InitializeComponent();

            ambience = AmbienceService.GetCurrentAmbience();
            foreach (Type type in defaultAvailableTypes)
            {
                types.Add(type);
                typeNames.Add(ambience.GetIntrinsicTypeName(type.FullName));
            }
            foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors)
            {
                types.Add(d.type);
                typeNames.Add(d.name);
            }

            ScopeColumn.DataSource = Enum.GetValues(typeof(SettingScope));
            TypeColumn.DataSource  = typeNames;
        }
Пример #33
0
		public SettingsView()
		{
			
			InitializeComponent();
			ambience = AmbienceService.GetCurrentAmbience();
			compilation = MinimalCorlib.Instance.CreateCompilation();
			
			foreach (Type type in defaultAvailableTypes) {
				types.Add(type);
				typeNames.Add(ambience.ConvertType(type.ToTypeReference().Resolve(compilation)));
			}
			foreach (SpecialTypeDescriptor d in SpecialTypeDescriptor.Descriptors) {
				types.Add(d.type);
				typeNames.Add(d.name);
			}
			Entries = new ObservableCollection<SettingsVM>();
			
			
		}
Пример #34
0
        public CodeCompletionItem(IEntity entity, IProjectContent projectContent)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            _entity         = entity;
            _projectContent = projectContent;

            IAmbience ambience = AmbienceService.GetCurrentAmbience();

            ambience.ConversionFlags = entity is IClass ? ConversionFlags.ShowTypeParameterList : ConversionFlags.None;
            Text    = entity.Name;
            Content = ambience.Convert(entity);

            Overloads = 1;

            Priority = CodeCompletionDataUsageCache.GetPriority(entity.DotNetName, true);
        }
Пример #35
0
        /// <summary>
        /// Converts a member to text.
        /// Returns the declaration of the member as C# or VB code, e.g.
        /// "public void MemberName(string parameter)".
        /// </summary>
        /// <param name="entity">Entity that gets converted.</param>
        /// <returns>The result of the conversion.</returns>
        private static string GetText(IEntity entity)
        {
            IAmbience ambience = MainForm.IsVisualBasic ? (IAmbience)VbAmbience : CsharpAmbience;

            var method = entity as IMethod;

            if (method != null)
            {
                return(ambience.Convert(method));
            }

            var property = entity as IProperty;

            if (property != null)
            {
                return(ambience.Convert(property));
            }

            var entityAsEvent = entity as IEvent;

            if (entityAsEvent != null)
            {
                return(ambience.Convert(entityAsEvent));
            }

            var field = entity as IField;

            if (field != null)
            {
                return(ambience.Convert(field));
            }

            var entityAsClass = entity as IClass;

            if (entityAsClass != null)
            {
                return(ambience.Convert(entityAsClass));
            }

            // unknown entity:
            return(entity.ToString());
        }
Пример #36
0
        internal static string GetMemberText(IAmbience ambience, IEntity member)
        {
            var text = new StringBuilder();

            // ReSharper disable once CanBeReplacedWithTryCastAndCheckForNull
            if (member is IField)
            {
                text.Append(ambience.Convert((IField)member));
            }
            else if (member is IProperty)
            {
                text.Append(ambience.Convert((IProperty)member));
            }
            else if (member is IEvent)
            {
                text.Append(ambience.Convert((IEvent)member));
            }
            else if (member is IMethod)
            {
                text.Append(ambience.Convert((IMethod)member));
            }
            else if (member is IClass)
            {
                text.Append(ambience.Convert((IClass)member));
            }
            else
            {
                text.Append("unknown member ");
                text.Append(member);
            }

            var documentation = member.Documentation;

            if (string.IsNullOrEmpty(documentation))
            {
                return(text.ToString());
            }

            text.Append('\n');
            text.Append(CodeCompletionData.XmlDocumentationToText(documentation));
            return(text.ToString());
        }
        public CSharpDocumentationBuilder(IAmbience ambience)
        {
            this.ambience        = ambience;
            this.flowDocument    = new FlowDocument();
            this.blockCollection = flowDocument.Blocks;

            this.ShowSummary        = true;
            this.ShowAllParameters  = true;
            this.ShowReturns        = true;
            this.ShowThreadSafety   = true;
            this.ShowExceptions     = true;
            this.ShowTypeParameters = true;

            this.ShowExample     = true;
            this.ShowPreliminary = true;
            this.ShowSeeAlso     = true;
            this.ShowValue       = true;
            this.ShowPermissions = true;
            this.ShowRemarks     = true;
        }
Пример #38
0
		public DocumentationUIBuilder(IAmbience ambience = null)
		{
			this.ambience = ambience ?? AmbienceService.GetCurrentAmbience();
			this.flowDocument = new FlowDocument();
			this.blockCollection = flowDocument.Blocks;
			
			this.ShowSummary = true;
			this.ShowAllParameters = true;
			this.ShowReturns = true;
			this.ShowThreadSafety = true;
			this.ShowExceptions = true;
			this.ShowTypeParameters = true;
			
			this.ShowExample = true;
			this.ShowPreliminary = true;
			this.ShowSeeAlso = true;
			this.ShowValue = true;
			this.ShowPermissions = true;
			this.ShowRemarks = true;
		}
Пример #39
0
		void AppendTextLine(string indentation, IAmbience ambience, int maxLineLength, StringWriter insertedText, string line)
		{
			const int minimumLineLength = 10;
			string commentedLine;
			while (true) {
				commentedLine = ambience.WrapComment(line);
				int commentingOverhead = commentedLine.Length - line.Length;
				if (commentingOverhead < 0 || (maxLineLength - commentingOverhead) < minimumLineLength)
					break;
				if (commentedLine.Length > maxLineLength) {
					int pos = FindWrapPositionBefore(line, maxLineLength - commentingOverhead);
					if (pos < minimumLineLength)
						break;
					insertedText.WriteLine(ambience.WrapComment(line.Substring(0, pos)));
					insertedText.Write(indentation);
					line = line.Substring(pos + 1);
				} else {
					break;
				}
			}
			insertedText.WriteLine(commentedLine);
			insertedText.Write(indentation); // indentation for next line
		}
Пример #40
0
 static string GetMemberText(IAmbience ambience, IEntity member)
 {
     StringBuilder text = new StringBuilder();
     if (member is IField) {
         text.Append(ambience.Convert(member as IField));
     } else if (member is IProperty) {
         text.Append(ambience.Convert(member as IProperty));
     } else if (member is IEvent) {
         text.Append(ambience.Convert(member as IEvent));
     } else if (member is IMethod) {
         text.Append(ambience.Convert(member as IMethod));
     } else if (member is IClass) {
         text.Append(ambience.Convert(member as IClass));
     } else {
         text.Append("unknown member ");
         text.Append(member.ToString());
     }
     string documentation = member.Documentation;
     if (documentation != null && documentation.Length > 0) {
         text.Append('\n');
         text.Append(CodeCompletionData.XmlDocumentationToText(documentation));
     }
     return text.ToString();
 }
 public AmbienceReflectionDecorator(IAmbience conv)
 {
     this.conv = conv;
 }
Пример #42
0
			protected PopupViewModelBuilder()
			{
				this.LabelAmbience = AmbienceService.GetCurrentAmbience();
				this.LabelAmbience.ConversionFlags = ConversionFlags.ShowTypeParameterList;
			}
Пример #43
0
		public CodeCompletionData(string s, int imageIndex)
		{
			ambience = AmbienceService.CurrentAmbience;
			description = documentation = String.Empty;
			text = s;
			this.imageIndex = imageIndex;
			GetPriority(s);
		}
Пример #44
0
		public CodeCompletionData(IClass c)
		{
			ambience = AmbienceService.CurrentAmbience;
			// save class (for the delegate description shortcut)
			this.c = c;
			imageIndex = ClassBrowserIconService.GetIcon(c);
			ambience.ConversionFlags = ConversionFlags.None;
			text = ambience.Convert(c);
			ambience.ConversionFlags = ConversionFlags.UseFullyQualifiedNames | ConversionFlags.ShowReturnType | ConversionFlags.ShowModifiers;
			description = ambience.Convert(c);
			documentation = c.Documentation;
			GetPriority(c.DotNetName);
		}
Пример #45
0
		public CodeCompletionData(IEvent e)
		{
			member = e;
			ambience = AmbienceService.CurrentAmbience;
			ambience.ConversionFlags = ConversionFlags.ShowReturnType | ConversionFlags.ShowParameterNames | ConversionFlags.ShowModifiers;
			imageIndex  = ClassBrowserIconService.GetIcon(e);
			text        = e.Name;
			description = ambience.Convert(e);
			documentation = e.Documentation;
			GetPriority(e.DotNetName);
		}
Пример #46
0
		internal static string GetMemberText(IAmbience ambience, IEntity member)
		{
			var text = new StringBuilder();
			if (member is IField)
			{
				text.Append(ambience.Convert(member as IField));
			}
			else if (member is IProperty)
			{
				text.Append(ambience.Convert(member as IProperty));
			}
			else if (member is IEvent)
			{
				text.Append(ambience.Convert(member as IEvent));
			}
			else if (member is IMethod)
			{
				text.Append(ambience.Convert(member as IMethod));
			}
			else if (member is IClass)
			{
				text.Append(ambience.Convert(member as IClass));
			}
			else
			{
				text.Append("unknown member ");
				text.Append(member);
			}
			var documentation = member.Documentation;
			if (string.IsNullOrEmpty(documentation))
				return text.ToString();

			text.Append('\n');
			text.Append(CodeCompletionData.XmlDocumentationToText(documentation));
			return text.ToString();
		}
Пример #47
0
		/// <summary>
		/// Gets the current ambience.
		/// Might return a new ambience object, or use an existing. Use this method only on the main thread.
		/// </summary>
		public static IAmbience GetCurrentAmbience()
		{
			Gui.WorkbenchSingleton.AssertMainThread();
			
			IAmbience ambience;
			if (UseProjectAmbienceIfPossible) {
				ICSharpCode.SharpDevelop.Project.IProject p = ICSharpCode.SharpDevelop.Project.ProjectService.CurrentProject;
				if (p != null) {
					ambience = p.GetAmbience();
					if (ambience != null)
						return ambience;
				}
			}
			if (defaultAmbience == null) {
				string language = DefaultAmbienceName;
				try {
					ambience = (IAmbience)AddInTree.BuildItem("/SharpDevelop/Workbench/Ambiences/" + language, null);
				} catch (TreePathNotFoundException) {
					ambience = null;
				}
				if (ambience == null && Gui.WorkbenchSingleton.MainForm != null) {
					MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Services.AmbienceService.AmbienceNotFoundError}");
				}
				defaultAmbience = ambience ?? new NetAmbience();
			}
			return defaultAmbience;
		}
Пример #48
0
		static string GetMemberText(IAmbience ambience, IEntity member, string expression, out bool debuggerCanShowValue)
		{
			bool tryDisplayValue = false;
			debuggerCanShowValue = false;
			StringBuilder text = new StringBuilder();
			if (member is IField) {
				text.Append(ambience.Convert(member as IField));
				tryDisplayValue = true;
			} else if (member is IProperty) {
				text.Append(ambience.Convert(member as IProperty));
				tryDisplayValue = true;
			} else if (member is IEvent) {
				text.Append(ambience.Convert(member as IEvent));
			} else if (member is IMethod) {
				text.Append(ambience.Convert(member as IMethod));
			} else if (member is IClass) {
				text.Append(ambience.Convert(member as IClass));
			} else {
				text.Append("unknown member ");
				text.Append(member.ToString());
			}
			if (tryDisplayValue && currentDebugger != null) {
				LoggingService.Info("asking debugger for value of '" + expression + "'");
				string currentValue = currentDebugger.GetValueAsString(expression);
				if (currentValue != null) {
					debuggerCanShowValue = true;
					text.Append(" = ");
					text.Append(currentValue);
				}
			}
			string documentation = member.Documentation;
			if (documentation != null && documentation.Length > 0) {
				text.Append('\n');
				text.Append(ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.CodeCompletionData.ConvertDocumentation(documentation));
			}
			return text.ToString();
		}