internal static ITextBuffer LoadReference(DocumentReference documentReference, ITextBufferService textBufferService, out Encoding encoding) { encoding = (Encoding)null; string text; using (Stream stream = documentReference.GetStream(FileAccess.Read)) { if (stream == null) { return((ITextBuffer)null); } try { text = DocumentReference.ReadDocumentContents(stream, out encoding); } catch (IOException ex) { return((ITextBuffer)null); } } ITextBuffer textBuffer = textBufferService.CreateTextBuffer(); textBuffer.SetText(0, textBuffer.Length, text); return(textBuffer); }
public override IDocument OpenDocument(IProjectItem projectItem, IProject project, bool isReadOnly) { DocumentReference documentReference = projectItem.DocumentReference; Stream stream = documentReference.GetStream(FileAccess.Read); if (stream != null) { Encoding encoding; string contents; using (stream) contents = DocumentReference.ReadDocumentContents(stream, out encoding); return((IDocument) new LimitedDocument(projectItem.DocumentReference, isReadOnly, encoding, contents, this.editingService)); } throw new FileNotFoundException(string.Format((IFormatProvider)CultureInfo.CurrentCulture, ExceptionStringTable.DocumentFileNotFound, new object[1] { (object)documentReference.Path })); }