diff options
author | Mikayla Hutchinson <m.j.hutchinson@gmail.com> | 2017-01-31 21:15:43 +0300 |
---|---|---|
committer | Mikayla Hutchinson <m.j.hutchinson@gmail.com> | 2017-01-31 23:12:21 +0300 |
commit | 17b9404d3a33ff34cc204998b62e944c879d3dd1 (patch) | |
tree | 72d2d653d10cb171447c81beef82fa0c7528e939 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor | |
parent | a80a642a5e3a3f925fe6f852d6f2844023e50c8b (diff) | |
parent | 26ad42f934f962a4c11f02e129e0461be2e96ed9 (diff) |
Merge remote-tracking branch 'origin/vNext' into roslyn-ivt
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor')
5 files changed, 39 insertions, 41 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Caret.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Caret.cs index 5c10a3fd8a..db7e5009c5 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Caret.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Caret.cs @@ -57,12 +57,27 @@ namespace MonoDevelop.Ide.Editor set; } - protected virtual void OnPositionChanged (DocumentLocationEventArgs args) + protected virtual void OnPositionChanged (CaretLocationEventArgs args) { if (PositionChanged != null) PositionChanged (this, args); } - public event EventHandler<DocumentLocationEventArgs> PositionChanged; + public event EventHandler<CaretLocationEventArgs> PositionChanged; + } + + public enum CaretChangeReason { + BufferChange, + Movement + } + + public class CaretLocationEventArgs : DocumentLocationEventArgs + { + public CaretChangeReason CaretChangeReason { get; } + + public CaretLocationEventArgs (DocumentLocation location, CaretChangeReason reason) : base (location) + { + CaretChangeReason = reason; + } } }
\ No newline at end of file diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextEditorImpl.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextEditorImpl.cs index d07aa9dcc0..10517742db 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextEditorImpl.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/InternalExtensionAPI/ITextEditorImpl.cs @@ -180,10 +180,6 @@ namespace MonoDevelop.Ide.Editor void SetSelectionSurroundingProvider (SelectionSurroundingProvider surroundingProvider); void SetTextPasteHandler (TextPasteHandler textPasteHandler); - event EventHandler<LineEventArgs> LineChanged; - event EventHandler<LineEventArgs> LineInserted; - event EventHandler<LineEventArgs> LineRemoved; - #region Internal use only API (do not mirror in TextEditor) TextEditorExtension EditorExtension { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedCompletionExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedCompletionExtension.cs index 741fabe3c2..66e8b84e4a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedCompletionExtension.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedCompletionExtension.cs @@ -250,14 +250,6 @@ namespace MonoDevelop.Ide.Editor.Projection return projectedExtension.CanRunCompletionCommand (); } - public override Task<MonoDevelop.Ide.CodeCompletion.ICompletionDataList> CodeCompletionCommand (MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext) - { - var projectedExtension = GetExtensionAt (completionContext.TriggerOffset); - if (projectedExtension == null) - return null; - return projectedExtension.CodeCompletionCommand (ConvertContext (completionContext)); - } - public override bool CanRunParameterCompletionCommand () { var projectedExtension = GetCurrentExtension (); @@ -302,13 +294,13 @@ namespace MonoDevelop.Ide.Editor.Projection return projectedExtension.GuessBestMethodOverload (provider, currentOverload, token); } - public override System.Threading.Tasks.Task<MonoDevelop.Ide.CodeCompletion.ICompletionDataList> HandleCodeCompletionAsync (MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext, char completionChar, System.Threading.CancellationToken token) + public override System.Threading.Tasks.Task<MonoDevelop.Ide.CodeCompletion.ICompletionDataList> HandleCodeCompletionAsync (MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext, CompletionTriggerInfo triggerInfo, System.Threading.CancellationToken token) { var projectedExtension = GetExtensionAt (completionContext.TriggerOffset); if (projectedExtension == null) return null; - return projectedExtension.HandleCodeCompletionAsync (ConvertContext (completionContext), completionChar, token); + return projectedExtension.HandleCodeCompletionAsync (ConvertContext (completionContext), triggerInfo, token); } public override Task<ParameterHintingResult> HandleParameterCompletionAsync (MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext, char completionChar, System.Threading.CancellationToken token) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedFilterCompletionTextEditorExtension.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedFilterCompletionTextEditorExtension.cs index 934be1340e..9ee715512b 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedFilterCompletionTextEditorExtension.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/Projection/ProjectedFilterCompletionTextEditorExtension.cs @@ -26,6 +26,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; +using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Editor.Extension; namespace MonoDevelop.Ide.Editor.Projection @@ -140,9 +141,9 @@ namespace MonoDevelop.Ide.Editor.Projection return completionTextEditorExtension.CanRunParameterCompletionCommand (); } - public override System.Threading.Tasks.Task<CodeCompletion.ICompletionDataList> HandleCodeCompletionAsync (CodeCompletion.CodeCompletionContext completionContext, char completionChar, System.Threading.CancellationToken token) + public override System.Threading.Tasks.Task<CodeCompletion.ICompletionDataList> HandleCodeCompletionAsync (CodeCompletion.CodeCompletionContext completionContext, CompletionTriggerInfo triggerInfo, System.Threading.CancellationToken token) { - return completionTextEditorExtension.HandleCodeCompletionAsync (completionContext, completionChar, token); + return completionTextEditorExtension.HandleCodeCompletionAsync (completionContext, triggerInfo, token); } public override System.Threading.Tasks.Task<CodeCompletion.ParameterHintingResult> HandleParameterCompletionAsync (CodeCompletion.CodeCompletionContext completionContext, char completionChar, System.Threading.CancellationToken token) @@ -171,12 +172,6 @@ namespace MonoDevelop.Ide.Editor.Projection return completionTextEditorExtension.ShowCodeTemplatesCommand (completionContext); } - public override Task<CodeCompletion.ICompletionDataList> CodeCompletionCommand (CodeCompletion.CodeCompletionContext completionContext) - { - if (!IsActiveExtension()) return null; - return completionTextEditorExtension.CodeCompletionCommand (completionContext); - } - public override Task<CodeCompletion.ParameterHintingResult> ParameterCompletionCommand (CodeCompletion.CodeCompletionContext completionContext) { if (!IsActiveExtension()) return null; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs index d24ec3c833..107f942e1f 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Editor/TextEditor.cs @@ -1490,23 +1490,23 @@ namespace MonoDevelop.Ide.Editor internal IEnumerable<IDocumentLine> VisibleLines { get { return textEditorImpl.VisibleLines; } } internal event EventHandler<LineEventArgs> LineShown { add { textEditorImpl.LineShown += value; } remove { textEditorImpl.LineShown -= value; } } - internal ITextEditorImpl Implementation { get { return this.textEditorImpl; } }
-
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- public IndentationTracker IndentationTracker
- {
- get
- {
- Runtime.AssertMainThread();
- return textEditorImpl.IndentationTracker;
- }
- set
- {
- Runtime.AssertMainThread();
- textEditorImpl.IndentationTracker = value;
- }
- }
-
+ internal ITextEditorImpl Implementation { get { return this.textEditorImpl; } } + + [EditorBrowsable(EditorBrowsableState.Advanced)] + public IndentationTracker IndentationTracker + { + get + { + Runtime.AssertMainThread(); + return textEditorImpl.IndentationTracker; + } + set + { + Runtime.AssertMainThread(); + textEditorImpl.IndentationTracker = value; + } + } + public event EventHandler FocusLost { add { textEditorImpl.FocusLost += value; } remove { textEditorImpl.FocusLost -= value; } } public new void GrabFocus () |