diff options
17 files changed, 72 insertions, 43 deletions
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs index 16a664662e..92a761c700 100644 --- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs +++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs @@ -1266,6 +1266,7 @@ namespace MonoDevelop.AssemblyBrowser this.Open (link, loader); } }); + marker.OnlyShowLinkOnHover = true; underlineMarkers.Add (marker); inspectEditor.AddMarker (marker); } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.cs index 1043d92495..25dd4e1e45 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.QuickTasks/QuickTaskOverviewMode.cs @@ -79,7 +79,7 @@ namespace MonoDevelop.SourceEditor.QuickTasks static readonly Cairo.Color win81Background = new Cairo.Color (240 / 255d, 240 / 255d, 240 / 255d); static readonly Cairo.Color win81Slider = new Cairo.Color (205 / 255d, 205 / 255d, 205 / 255d); static readonly Cairo.Color win81SliderPrelight = new Cairo.Color (166 / 255d, 166 / 255d, 166 / 255d); - static readonly Cairo.Color win81SliderActive = new Cairo.Color (96 / 255d, 96 / 255d, 96 / 255d); + //static readonly Cairo.Color win81SliderActive = new Cairo.Color (96 / 255d, 96 / 255d, 96 / 255d); readonly int barPadding = MonoDevelop.Core.Platform.IsWindows ? 1 : 3; diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/IndentationTrackerWrapper.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/IndentationTrackerWrapper.cs index 22abf06f3a..a88ecf421c 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/IndentationTrackerWrapper.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/IndentationTrackerWrapper.cs @@ -33,9 +33,6 @@ namespace MonoDevelop.SourceEditor.Wrappers readonly IReadonlyTextDocument document; readonly MonoDevelop.Ide.Editor.Extension.IndentationTracker indentationTracker; - readonly Mono.TextEditor.TextEditorData textEditorData; - - public IndentationTrackerWrapper (Mono.TextEditor.TextEditorData textEditorData, IReadonlyTextDocument document, MonoDevelop.Ide.Editor.Extension.IndentationTracker indentationTracker) { if (textEditorData == null) @@ -44,7 +41,6 @@ namespace MonoDevelop.SourceEditor.Wrappers throw new System.ArgumentNullException ("document"); if (indentationTracker == null) throw new System.ArgumentNullException ("indentationTracker"); - this.textEditorData = textEditorData; this.document = document; this.indentationTracker = indentationTracker; } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/SemanticHighlightingSyntaxMode.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/SemanticHighlightingSyntaxMode.cs index 745fda76b1..911e648cc7 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/SemanticHighlightingSyntaxMode.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Wrappers/SemanticHighlightingSyntaxMode.cs @@ -165,10 +165,8 @@ namespace MonoDevelop.SourceEditor.Wrappers const int MaximumCachedLineSegments = 200; SemanticHighlightingSyntaxMode semanticMode; - int lineNumber; public CSharpChunkParser (SemanticHighlightingSyntaxMode semanticMode, SpanParser spanParser, Mono.TextEditor.Highlighting.ColorScheme style, DocumentLine line) : base (semanticMode, spanParser, style, line) { - lineNumber = line.LineNumber; this.semanticMode = semanticMode; } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs index dc3df7cb69..3f68195f7c 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs @@ -57,7 +57,6 @@ namespace MonoDevelop.SourceEditor internal object MemoryProbe = Counters.EditorsInMemory.CreateMemoryProbe (); SourceEditorView view; - ExtensionContext extensionContext; Adjustment cachedHAdjustment, cachedVAdjustment; TextEditorExtension editorExtension; @@ -217,7 +216,6 @@ namespace MonoDevelop.SourceEditor { IsDestroyed = true; UnregisterAdjustments (); - extensionContext = null; view = null; var disposableSyntaxMode = Document.SyntaxMode as IDisposable; if (disposableSyntaxMode != null) { @@ -515,11 +513,8 @@ namespace MonoDevelop.SourceEditor } } - int oldOffset = -1; - public Microsoft.CodeAnalysis.ISymbol GetLanguageItem (int offset, out MonoDevelop.Ide.Editor.DocumentRegion region) { - oldOffset = offset; region = MonoDevelop.Ide.Editor.DocumentRegion.Empty; if (textEditorResolverProvider != null) { @@ -547,8 +542,6 @@ namespace MonoDevelop.SourceEditor public Microsoft.CodeAnalysis.ISymbol GetLanguageItem (int offset, string expression) { - oldOffset = offset; - if (textEditorResolverProvider != null) { return textEditorResolverProvider.GetLanguageItem (view.WorkbenchWindow.Document, offset, expression); } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs index d1bdc97ef2..e31382459d 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/MessageBubbleTextMarker.cs @@ -144,7 +144,7 @@ namespace MonoDevelop.SourceEditor public override TextLineMarkerFlags Flags { get { - if (LineSegment != null && LineSegment.Markers.Any (m => m is DebugTextMarker)) + if (LineSegment != null && editor.Document.GetTextSegmentMarkersAt (LineSegment).Any (m => m is DebugTextMarker)) return TextLineMarkerFlags.None; return TextLineMarkerFlags.DrawsSelection; @@ -571,7 +571,7 @@ namespace MonoDevelop.SourceEditor if (!IsVisible) return false; bool markerShouldDrawnAsHidden = cache.CurrentSelectedTextMarker != null && cache.CurrentSelectedTextMarker != this; - if (metrics.LineSegment.Markers.Any (m => m is DebugTextMarker)) + if (editor.Document.GetTextSegmentMarkersAt (metrics.LineSegment).Any (m => m is DebugTextMarker)) return false; EnsureLayoutCreated (editor); diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/PinnedWatchWidget.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/PinnedWatchWidget.cs index 4e74c91ea6..1c2d9779d2 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/PinnedWatchWidget.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/PinnedWatchWidget.cs @@ -158,7 +158,7 @@ namespace MonoDevelop.SourceEditor TreeViewColumn col; int cx, cy; valueTree.GetPathAtPos ((int)args.Event.X, (int)args.Event.Y, out path, out col, out cx, out cy); - Gdk.Rectangle rect = valueTree.GetCellArea (path, col); + //Gdk.Rectangle rect = valueTree.GetCellArea (path, col); if (!mousePressed && valueTree.Columns[0] == col) { mousePressed = true; Editor.TextArea.MoveToTop (this); diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs index 65f308d04d..78854edd91 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorView.cs @@ -75,7 +75,6 @@ namespace MonoDevelop.SourceEditor readonly SourceEditorWidget widget; bool isDisposed = false; DateTime lastSaveTimeUtc; - string loadedMimeType; internal object MemoryProbe = Counters.SourceViewsInMemory.CreateMemoryProbe (); DebugMarkerPair currentDebugLineMarker; DebugMarkerPair debugStackLineMarker; @@ -138,7 +137,6 @@ namespace MonoDevelop.SourceEditor } - bool wasEdited = false; uint removeMarkerTimeout; Queue<MessageBubbleTextMarker> markersToRemove = new Queue<MessageBubbleTextMarker> (); @@ -261,11 +259,6 @@ namespace MonoDevelop.SourceEditor { if (Document.CurrentAtomicUndoOperationType == OperationType.Format) return; - if (!inLoad) { - if (widget.TextEditor.Document.IsInAtomicUndo) { - wasEdited = true; - } - } int startIndex = args.Offset; foreach (var marker in currentErrorMarkers) { @@ -284,7 +277,6 @@ namespace MonoDevelop.SourceEditor void HandleBeginUndo (object sender, EventArgs e) { - wasEdited = false; OnBeginUndo (EventArgs.Empty); } @@ -662,7 +654,6 @@ namespace MonoDevelop.SourceEditor if (formatter.SupportsOnTheFlyFormatting) { using (var undo = TextEditor.OpenUndoGroup ()) { formatter.OnTheFlyFormat (WorkbenchWindow.Document.Editor, WorkbenchWindow.Document); - wasEdited = false; } } else { var text = document.Editor.Text; @@ -820,7 +811,6 @@ namespace MonoDevelop.SourceEditor didLoadCleanly = false; } else { - inLoad = true; if (loadEncoding == null) { var res = await MonoDevelop.Core.Text.TextFileUtility.ReadAllTextAsync (fileName); text = res.Text; @@ -840,7 +830,6 @@ namespace MonoDevelop.SourceEditor Document.Text = text; Document.DiffTracker.SetBaseDocument (Document.CreateDocumentSnapshot ()); } - inLoad = false; didLoadCleanly = true; } // TODO: Would be much easier if the view would be created after the containers. @@ -901,7 +890,6 @@ namespace MonoDevelop.SourceEditor } bool warnOverwrite = false; - bool inLoad = false; Encoding encoding; bool hadBom = false; @@ -914,10 +902,8 @@ namespace MonoDevelop.SourceEditor } UpdateMimeType (fileName); - inLoad = true; Document.Replace (0, Document.TextLength, content); Document.DiffTracker.Reset (); - inLoad = false; encoding = enc; ContentName = fileName; UpdateExecutionLocation (); @@ -2731,7 +2717,7 @@ namespace MonoDevelop.SourceEditor return TextEditor.Document.RemoveMarker (textSegmentMarker); } - IFoldSegment ITextEditorImpl.CreateFoldSegment (int offset, int length, bool isFolded = false) + IFoldSegment ITextEditorImpl.CreateFoldSegment (int offset, int length, bool isFolded) { return new FoldSegmentWrapper (TextEditor.Document, "...", offset, length, Mono.TextEditor.FoldingType.None) { IsFolded = isFolded }; } @@ -3358,7 +3344,7 @@ namespace MonoDevelop.SourceEditor } } - public ITextSegmentMarker CreateLinkMarker (MonoDevelop.Ide.Editor.TextEditor editor, int offset, int length, Action<LinkRequest> activateLink) + public ILinkTextMarker CreateLinkMarker (MonoDevelop.Ide.Editor.TextEditor editor, int offset, int length, Action<LinkRequest> activateLink) { return new LinkMarker (offset, length, activateLink); } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs index cf8cd7c1a1..394e1dc66a 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/SourceEditorWidget.cs @@ -925,12 +925,12 @@ namespace MonoDevelop.SourceEditor view.WorkbenchWindow.ShowNotification = false; RemoveMessageBar (); }; - okButton.Clicked += delegate { + okButton.Clicked += async delegate { switch (combo.Active) { case 0: ConvertLineEndings (); view.WorkbenchWindow.ShowNotification = false; - view.Save (fileName, view.SourceEncoding); + await view.Save (fileName, view.SourceEncoding); break; case 1: FileRegistry.ConvertLineEndingsInAllFiles (); @@ -1023,7 +1023,7 @@ namespace MonoDevelop.SourceEditor } } - public void Reload () + public async void Reload () { try { if (!System.IO.File.Exists (view.ContentName)) @@ -1031,7 +1031,7 @@ namespace MonoDevelop.SourceEditor view.StoreSettings (); reloadSettings = true; - view.Load (view.ContentName, view.SourceEncoding, true); + await view.Load (view.ContentName, view.SourceEncoding, true); view.WorkbenchWindow.ShowNotification = false; } catch (Exception ex) { MessageService.ShowError ("Could not reload the file.", ex); diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/LinkMarker.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/LinkMarker.cs index bbb533000b..fba52226f4 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/LinkMarker.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/LinkMarker.cs @@ -30,12 +30,18 @@ using MonoDevelop.Core; namespace MonoDevelop.SourceEditor { - class LinkMarker : UnderlineTextSegmentMarker, ITextSegmentMarker, IActionTextLineMarker + class LinkMarker : UnderlineTextSegmentMarker, ILinkTextMarker, IActionTextLineMarker { static readonly Gdk.Cursor textLinkCursor = new Gdk.Cursor (Gdk.CursorType.Hand1); static readonly Cairo.Color linkColor = new Cairo.Color (0, 0, 1.0); Action<LinkRequest> activateLink; + public bool OnlyShowLinkOnHover { + get; + set; + } + + public LinkMarker (int offset, int length, Action<LinkRequest> activateLink) : base (linkColor, new TextSegment (offset, length)) { this.activateLink = activateLink; @@ -49,7 +55,6 @@ namespace MonoDevelop.SourceEditor get; set; } - bool IActionTextLineMarker.MousePressed (MonoTextEditor editor, MarginMouseEventArgs args) { MousePressed?.Invoke (this, new TextEventArgsWrapper (args)); @@ -65,6 +70,42 @@ namespace MonoDevelop.SourceEditor { MouseHover?.Invoke (this, new TextEventArgsWrapper (args)); result.Cursor = textLinkCursor; + if (OnlyShowLinkOnHover) { + editor.GetTextEditorData ().Document.CommitLineUpdate (args.LineSegment); + editor.TextViewMargin.HoveredLineChanged += new UpdateOldLine (editor, args.LineSegment).TextViewMargin_HoveredLineChanged; + } + } + + class UpdateOldLine + { + MonoTextEditor editor; + DocumentLine lineSegment; + + public UpdateOldLine (MonoTextEditor editor, DocumentLine lineSegment) + { + this.editor = editor; + this.lineSegment = lineSegment; + } + + public void TextViewMargin_HoveredLineChanged (object sender, Mono.TextEditor.LineEventArgs e) + { + editor.GetTextEditorData ().Document.CommitLineUpdate (lineSegment); + editor.TextViewMargin.HoveredLineChanged -= TextViewMargin_HoveredLineChanged; + } + } + + public override void Draw (MonoTextEditor editor, Cairo.Context cr, LineMetrics metrics, int startOffset, int endOffset) + { + if (OnlyShowLinkOnHover) { + if (editor.TextViewMargin.MarginCursor != textLinkCursor) + return; + if (editor.TextViewMargin.HoveredLine == null) + return; + var hoverOffset = editor.LocationToOffset (editor.TextViewMargin.HoveredLocation); + if (!Segment.Contains (hoverOffset)) + return; + } + base.Draw (editor, cr, metrics, startOffset, endOffset); } } } diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/SmartTagMarker.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/SmartTagMarker.cs index 78d287400a..21591025f7 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/SmartTagMarker.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/SmartTagMarker.cs @@ -78,7 +78,7 @@ namespace MonoDevelop.SourceEditor if (line == null) return; var x = editor.ColumnToX (line, loc.Column) - editor.HAdjustment.Value + editor.TextViewMargin.TextStartPosition; - var y = editor.LineToY (line.LineNumber + 1) - editor.VAdjustment.Value; + //var y = editor.LineToY (line.LineNumber + 1) - editor.VAdjustment.Value; const double xAdditionalSpace = tagMarkerWidth; if (args.X - x >= -xAdditionalSpace * editor.Options.Zoom && args.X - x < (tagMarkerWidth + xAdditionalSpace) * editor.Options.Zoom /*&& @@ -106,7 +106,9 @@ namespace MonoDevelop.SourceEditor } public event EventHandler<TextMarkerMouseEventArgs> MousePressed; + #pragma warning disable 0067 public event EventHandler<TextMarkerMouseEventArgs> MouseHover; + #pragma warning restore 0067 public event EventHandler ShowPopup; public event EventHandler CancelPopup; diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/WavedLineMarker.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/WavedLineMarker.cs index fdd11c9729..7953dac2b5 100644 --- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/WavedLineMarker.cs +++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/TextMarker/WavedLineMarker.cs @@ -112,9 +112,11 @@ namespace MonoDevelop.SourceEditor } } + #pragma warning disable 0067 public event EventHandler<MonoDevelop.Ide.Editor.TextMarkerMouseEventArgs> MousePressed; public event EventHandler<MonoDevelop.Ide.Editor.TextMarkerMouseEventArgs> MouseHover; + #pragma warning restore 0067 object MonoDevelop.Ide.Editor.ITextSegmentMarker.Tag { get; diff --git a/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs b/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs index b9aaa22f72..01d72c9dc4 100644 --- a/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs +++ b/main/src/core/Mono.Texteditor/Mono.TextEditor/Gui/TextViewMargin.cs @@ -2241,6 +2241,7 @@ namespace Mono.TextEditor var line = Document.GetLine (loc.Line); var oldHoveredLine = HoveredLine; HoveredLine = line; + HoveredLocation = loc; OnHoveredLineChanged (new LineEventArgs (oldHoveredLine)); var hoverResult = new TextLineMarkerHoverResult (); @@ -2552,6 +2553,8 @@ namespace Mono.TextEditor } } + public DocumentLocation HoveredLocation { get; private set; } + [Flags] public enum CairoCorners { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/AbstractNavigationExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/AbstractNavigationExtension.cs index 319482f2e4..3df2ccee30 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/AbstractNavigationExtension.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor.Extension/AbstractNavigationExtension.cs @@ -159,6 +159,7 @@ namespace MonoDevelop.Ide.Editor.Extension continue; foreach (var segment in await RequestLinksAsync (line.Offset, line.Length, default (CancellationToken))) { var marker = Editor.TextMarkerFactory.CreateLinkMarker (Editor, segment.Offset, segment.Length, delegate { segment.Activate (); }); + marker.OnlyShowLinkOnHover = true; Editor.AddMarker (marker); markers.Add (marker); } @@ -174,6 +175,7 @@ namespace MonoDevelop.Ide.Editor.Extension var line = e.Line; foreach (var segment in await RequestLinksAsync (line.Offset, line.Length, default (CancellationToken))) { var marker = Editor.TextMarkerFactory.CreateLinkMarker (Editor, segment.Offset, segment.Length, delegate { segment.Activate (); }); + marker.OnlyShowLinkOnHover = true; Editor.AddMarker (marker); markers.Add (marker); } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/ITextSegmentMarker.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/ITextSegmentMarker.cs index 1f5bf5ad11..e1f797135b 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/ITextSegmentMarker.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/ITextSegmentMarker.cs @@ -83,5 +83,10 @@ namespace MonoDevelop.Ide.Editor event EventHandler ShowPopup; event EventHandler CancelPopup; } + + public interface ILinkTextMarker : ITextSegmentMarker + { + bool OnlyShowLinkOnHover { get; set; } + } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextMarkerFactory.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextMarkerFactory.cs index 8c674cd425..68f0ac8651 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextMarkerFactory.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextMarkerFactory.cs @@ -48,7 +48,7 @@ namespace MonoDevelop.Ide.Editor #region Segment marker ITextSegmentMarker CreateUsageMarker (TextEditor editor, Usage usage); - ITextSegmentMarker CreateLinkMarker (TextEditor editor, int offset, int length, Action<LinkRequest> activateLink); + ILinkTextMarker CreateLinkMarker (TextEditor editor, int offset, int length, Action<LinkRequest> activateLink); IGenericTextSegmentMarker CreateGenericTextSegmentMarker (TextEditor editor, TextSegmentMarkerEffect effect, int offset, int length); ISmartTagMarker CreateSmartTagMarker (TextEditor editor, int offset, DocumentLocation realLocation); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextMarkerFactory.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextMarkerFactory.cs index 09cc6680c8..0a1530f5a1 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextMarkerFactory.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextMarkerFactory.cs @@ -71,12 +71,12 @@ namespace MonoDevelop.Ide.Editor return editor.TextMarkerFactory.CreateUsageMarker (editor, usage); } - public static ITextSegmentMarker CreateLinkMarker (TextEditor editor, int offset, int length, Action<LinkRequest> activateLink) + public static ILinkTextMarker CreateLinkMarker (TextEditor editor, int offset, int length, Action<LinkRequest> activateLink) { return editor.TextMarkerFactory.CreateLinkMarker (editor, offset, length, activateLink); } - public static ITextSegmentMarker CreateLinkMarker (TextEditor editor, ISegment segment, Action<LinkRequest> activateLink) + public static ILinkTextMarker CreateLinkMarker (TextEditor editor, ISegment segment, Action<LinkRequest> activateLink) { if (segment == null) throw new ArgumentNullException ("segment"); |