Example #1
0
        public CSharpColorizer([NotNull] RichText richText, [NotNull] PresenterOptions options,
                               [NotNull] PresentedInfo presentedInfo, [NotNull] TextStyleHighlighterManager textStyleHighlighterManager,
                               [NotNull] CodeAnnotationsCache codeAnnotationsCache)
        {
            Debug.Assert(codeAnnotationsCache != null, "codeAnnotationsCache != null");

            _richText      = richText;
            _options       = options;
            _presentedInfo = presentedInfo;
            _textStyleHighlighterManager = textStyleHighlighterManager;
            _codeAnnotationsCache        = codeAnnotationsCache;
        }
		public RichText TryPresent([NotNull] DeclaredElementInstance declaredElementInstance, [NotNull] PresenterOptions options,
			[NotNull] PsiLanguageType languageType, bool useReSharperColors, [NotNull] out PresentedInfo presentedInfo) {
			
			var richText = new RichText();
			IColorizer colorizer = TryCreateColorizer(richText, languageType, useReSharperColors);
			if (colorizer == null) {
				presentedInfo = new PresentedInfo();
				return null;
			}

			presentedInfo = colorizer.AppendDeclaredElement(declaredElementInstance.Element, declaredElementInstance.Substitution, options);
			return richText;
		}
Example #3
0
        public RichText TryPresent([NotNull] DeclaredElementInstance declaredElementInstance, [NotNull] PresenterOptions options,
                                   [NotNull] PsiLanguageType languageType, bool useReSharperColors, [NotNull] out PresentedInfo presentedInfo)
        {
            var        richText  = new RichText();
            IColorizer colorizer = TryCreateColorizer(richText, languageType, useReSharperColors);

            if (colorizer == null)
            {
                presentedInfo = new PresentedInfo();
                return(null);
            }

            presentedInfo = colorizer.AppendDeclaredElement(declaredElementInstance.Element, declaredElementInstance.Substitution, options);
            return(richText);
        }
        public RichText TryPresent([NotNull] DeclaredElementInstance declaredElementInstance, [NotNull] PresenterOptions options,
                                   [NotNull] PsiLanguageType languageType, [CanBeNull] string nameHighlightingAttributeId, [NotNull] out PresentedInfo presentedInfo)
        {
            var richText = new RichText();

            presentedInfo = new PresentedInfo();
            IColorizer colorizer = TryCreateColorizer(richText, options, languageType, presentedInfo);

            if (colorizer == null)
            {
                return(null);
            }

            colorizer.AppendDeclaredElement(declaredElementInstance.Element, declaredElementInstance.Substitution, nameHighlightingAttributeId);
            return(richText);
        }
Example #5
0
        /// <summary>
        /// Presents a given <see cref="DeclaredElementInstance"/> using a colorizer.
        /// </summary>
        /// <param name="declaredElementInstance">The declared element instance.</param>
        /// <param name="options">The options to use to present the element.</param>
        /// <param name="languageType">The type of language used to present the element.</param>
        /// <param name="highlighterIdProvider">An object determining which highlightings to use.</param>
        /// <param name="contextualNode">The tree node where the element is presented.</param>
        /// <param name="presentedInfo">When the method returns, a <see cref="PresentedInfo"/> containing range information about the presented element.</param>
        /// <returns>A <see cref="RichText"/> representing <paramref name="declaredElementInstance"/>.</returns>
        public RichText?TryPresent(
            DeclaredElementInstance declaredElementInstance,
            PresenterOptions options,
            PsiLanguageType languageType,
            HighlighterIdProvider highlighterIdProvider,
            ITreeNode?contextualNode,
            out PresentedInfo presentedInfo)
        {
            var richText = new RichText();

            if (TryCreateColorizer(richText, languageType, highlighterIdProvider) is { } colorizer)
            {
                presentedInfo = colorizer.AppendDeclaredElement(declaredElementInstance.Element, declaredElementInstance.Substitution, options, contextualNode);
                return(richText);
            }

            presentedInfo = new PresentedInfo();
            return(null);
        }
        public RichText TryPresent(
            [NotNull] DeclaredElementInstance declaredElementInstance,
            [NotNull] PresenterOptions options,
            [NotNull] PsiLanguageType languageType,
            [NotNull] HighlighterIdProvider highlighterIdProvider,
            [CanBeNull] ITreeNode contextualNode,
            [NotNull] out PresentedInfo presentedInfo)
        {
            var        richText  = new RichText();
            IColorizer colorizer = TryCreateColorizer(richText, languageType, highlighterIdProvider);

            if (colorizer == null)
            {
                presentedInfo = new PresentedInfo();
                return(null);
            }

            presentedInfo = colorizer.AppendDeclaredElement(declaredElementInstance.Element, declaredElementInstance.Substitution, options, contextualNode);
            return(richText);
        }
Example #7
0
 public Context([NotNull] PresenterOptions options, [CanBeNull] PresentedInfo presentedInfo)
 {
     Options       = options;
     PresentedInfo = presentedInfo;
 }
			public Context([NotNull] PresenterOptions options, [CanBeNull] PresentedInfo presentedInfo) {
				Options = options;
				PresentedInfo = presentedInfo;
			}
 private IColorizer TryCreateColorizer([NotNull] RichText richText, [NotNull] PresenterOptions options,
                                       [NotNull] PsiLanguageType languageType, [NotNull] PresentedInfo presentedInfo)
 {
     // TODO: remove constructor parameters and resolve as a language service
     if (languageType.Is <CSharpLanguage>())
     {
         return(new CSharpColorizer(richText, options, presentedInfo, _textStyleHighlighterManager, _codeAnnotationsCache));
     }
     return(null);
 }