diff options
3 files changed, 47 insertions, 2 deletions
diff --git a/src/Text/Impl/BraceCompletion/BraceCompletionManagerFactory.cs b/src/Text/Impl/BraceCompletion/BraceCompletionManagerFactory.cs new file mode 100644 index 0000000..e1a7acf --- /dev/null +++ b/src/Text/Impl/BraceCompletion/BraceCompletionManagerFactory.cs @@ -0,0 +1,45 @@ +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. +// +// This file contain implementations details that are subject to change without notice. +// Use at your own risk. +// +namespace Microsoft.VisualStudio.Text.BraceCompletion.Implementation +{ + using Microsoft.VisualStudio.Text.Editor; + using Microsoft.VisualStudio.Text.Utilities; + using Microsoft.VisualStudio.Utilities; + using System.ComponentModel.Composition; + + [Export(typeof(ITextViewCreationListener))] + [ContentType("text")] + [TextViewRole(PredefinedTextViewRoles.Editable)] + [PartCreationPolicy(CreationPolicy.Shared)] + internal sealed class BraceCompletionManagerFactory : ITextViewCreationListener + { + #region Imports + + [Import] + private IBraceCompletionAdornmentServiceFactory _adornmentServiceFactory; + + [Import] + private IBraceCompletionAggregatorFactory _aggregatorFactory; + + [Import] + private GuardedOperations _guardedOperations; + + #endregion + + #region ITextViewCreationListener + + public void TextViewCreated(ITextView textView) + { + textView.Properties.AddProperty("BraceCompletionManager", + new BraceCompletionManager(textView, + new BraceCompletionStack(textView, _adornmentServiceFactory, _guardedOperations), _aggregatorFactory, _guardedOperations)); + } + + #endregion + } +} diff --git a/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentService.cs b/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentService.cs index dbbbe4f..5ae3b12 100644 --- a/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentService.cs +++ b/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentService.cs @@ -9,7 +9,7 @@ namespace Microsoft.VisualStudio.Text.BraceCompletion.Implementation { using System; - internal interface IBraceCompletionAdornmentService + public interface IBraceCompletionAdornmentService { /// <summary> /// Gets or sets the tracking point used by the brace completion adornment diff --git a/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentServiceFactory.cs b/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentServiceFactory.cs index 2bc8f4f..2e0d9f3 100644 --- a/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentServiceFactory.cs +++ b/src/Text/Impl/BraceCompletion/IBraceCompletionAdornmentServiceFactory.cs @@ -9,7 +9,7 @@ namespace Microsoft.VisualStudio.Text.BraceCompletion.Implementation { using Microsoft.VisualStudio.Text.Editor; - internal interface IBraceCompletionAdornmentServiceFactory + public interface IBraceCompletionAdornmentServiceFactory { /// <summary> /// Creates an IBraceCompletionAdornmentService for the given text view. |