Пример #1
0
        void ShowReferences(List <MonoDevelop.Projects.CodeGeneration.MemberReference> references)
        {
            RemoveMarkers(false);
            HashSet <int> lineNumbers = new HashSet <int> ();

            if (references != null)
            {
                bool alphaBlend = false;
                foreach (var r in references)
                {
                    UsageMarker marker = GetMarker(r.Line);
                    int         offset = textEditorData.Document.LocationToOffset(r.Line, r.Column);
                    if (!alphaBlend && textEditorData.Parent.TextViewMargin.SearchResults.Any(sr => sr.Contains(offset) || sr.Contains(offset + r.Name.Length) ||
                                                                                              offset < sr.Offset && sr.EndOffset < offset + r.Name.Length))
                    {
                        textEditorData.Parent.TextViewMargin.AlphaBlendSearchResults = alphaBlend = true;
                    }
                    marker.Usages.Add(new Mono.TextEditor.Segment(offset, r.Name.Length));
                    lineNumbers.Add(r.Line);
                }
            }
            foreach (int line in lineNumbers)
            {
                textEditorData.Document.CommitLineUpdate(line);
            }
        }
Пример #2
0
        UsageMarker GetMarker(int line)
        {
            UsageMarker result;

            if (!markers.TryGetValue(line, out result))
            {
                result = new UsageMarker();
                TextEditorData.Document.AddMarker(line, result);
                markers.Add(line, result);
            }
            return(result);
        }
		UsageMarker GetMarker (int line)
		{
			UsageMarker result;
			if (!markers.TryGetValue (line, out result)) {
				result = new UsageMarker ();
				textEditorData.Document.AddMarker (line, result);
				markers.Add (line, result);
			}
			return result;
		}