From 54990e6a21b4380763002af122f002209bd252b5 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Wed, 23 Jul 2014 23:29:53 -0700 Subject: [PATCH] Use document buffer An ITextView can have multiple ITextBuffer instances associated with it. When looking for the main ITextDocument associated with an ITextView it should always be done through the DocumentBuffer. The previous code was using ITextView::TextBuffer which is equivalent to the EditBuffer. The reason this worked in standard files (like a .cs) is that the EditBuffer and DocumentBuffer are the same value. In razor files the view is much more complex and the EditBuffer is actually a rather complicated projection buffer (instance of IProjectionBuffer). Hence it had no associated document. closes #21 --- EncouragePackage/EncourageIntellisenseControllerProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EncouragePackage/EncourageIntellisenseControllerProvider.cs b/EncouragePackage/EncourageIntellisenseControllerProvider.cs index 49fb5e7..4376885 100644 --- a/EncouragePackage/EncourageIntellisenseControllerProvider.cs +++ b/EncouragePackage/EncourageIntellisenseControllerProvider.cs @@ -23,7 +23,7 @@ internal class EncourageIntellisenseControllerProvider : IIntellisenseController public IIntellisenseController TryCreateIntellisenseController(ITextView textView, IList subjectBuffers) { ITextDocument textDocument; - if (!TextDocumentFactoryService.TryGetTextDocument(textView.TextBuffer, out textDocument)) + if (!TextDocumentFactoryService.TryGetTextDocument(textView.TextDataModel.DocumentBuffer, out textDocument)) { return null; }