コード例 #1
0
 private void OnMappingsChanged(object sender, MappingsChangedEventArgs e)
 {
     if (e.Mappings.Count > 0)
     {
         _languageBuffer.MappingsChanged -= OnMappingsChanged;
         IContainedLanguageHost host = ContainedLanguageHost.GetHost(TextView, _languageBuffer.IProjectionBuffer);
         host.SetContainedCommandTarget(TextView, ContainedLanguageTarget);
         ContainedLanguageTarget = null;
         TextView        = null;
         _languageBuffer = null;
     }
 }
コード例 #2
0
        protected override void OnTextViewConnected(ITextView textView, ITextBuffer textBuffer) {
            RMainController.Attach(textView, textBuffer, Shell);
            if (textBuffer != textView.TextBuffer) {
                // Projected scenario
                _containedLanguageHost = ContainedLanguageHost.GetHost(textView, textBuffer, Shell);
                if (_containedLanguageHost != null) {
                    _containedLanguageHost.Closing += OnContainedLanguageHostClosing;
                    _textBuffer = textBuffer;

                    var mainController = RMainController.FromTextView(textView);
                    var nextTarget = _containedLanguageHost.SetContainedCommandTarget(textView, mainController);
                    // Convert chained target to ICommandTarget (chained target might be IOleCommandTarget and host will create a shim then).
                    mainController.ChainedController = nextTarget;
                }
            }
            base.OnTextViewConnected(textView, textBuffer);
        }
コード例 #3
0
        /// <summary>
        /// Retrives contained language host. Typically called from text view connection listener.
        /// </summary>
        /// <param name="textView">Primary text view</param>
        /// <param name="textBuffer">Contained language buffer</param>
        /// <param name="shell"></param>
        /// <returns>Contained language host for this buffer and language, <seealso cref="IContainedLanguageHost"/></returns>
        public static IContainedLanguageHost GetHost(ITextView textView, ITextBuffer textBuffer, ICoreShell shell)
        {
            IContainedLanguageHost containedLanguageHost = TryGetHost(textBuffer);

            if (containedLanguageHost == null)
            {
                var containedLanguageHostProvider =
                    ComponentLocatorForOrderedContentType <IContainedLanguageHostProvider> .
                    FindFirstOrderedComponent(shell, textView.TextDataModel.DocumentBuffer.ContentType.TypeName);

                if (containedLanguageHostProvider != null)
                {
                    containedLanguageHost = containedLanguageHostProvider.GetContainedLanguageHost(textView, textBuffer);
                }
            }

            return(containedLanguageHost);
        }
コード例 #4
0
        protected override void OnTextViewConnected(ITextView textView, ITextBuffer textBuffer)
        {
            var mainController = RMainController.Attach(textView, textBuffer, Services);

            if (textBuffer != textView.TextBuffer)
            {
                // Projected scenario
                _containedLanguageHost = textBuffer.GetService <IContainedLanguageHost>();
                if (_containedLanguageHost != null)
                {
                    _containedLanguageHost.Closing += OnContainedLanguageHostClosing;
                    _textBuffer = textBuffer;

                    var nextTarget = _containedLanguageHost.SetContainedCommandTarget(textView.ToEditorView(), mainController);
                    // Convert chained target to ICommandTarget (chained target might be IOleCommandTarget and host will create a shim then).
                    mainController.ChainedController = nextTarget;
                }
            }
            base.OnTextViewConnected(textView, textBuffer);
        }
コード例 #5
0
ファイル: REditorDocument.cs プロジェクト: zachwieja/RTVS
 public ExpressionTermFilter(IContainedLanguageHost clh)
 {
     _clh = clh;
 }
コード例 #6
0
ファイル: REditorDocument.cs プロジェクト: Microsoft/RTVS
 public ExpressionTermFilter(IContainedLanguageHost clh) {
     _clh = clh;
 }