private void CreateHandler( Lifetime editableEntityLifetime, [NotNull] RdDocumentId rdDocumentId, [NotNull] RiderDocument document ) { var psiSourceFile = document.GetPsiSourceFile(Solution); if (psiSourceFile == null) { return; } if (!psiSourceFile.LanguageType.Is <T4ProjectFileType>()) { return; } var editableEntity = (Host.TryGetDocumentModel(rdDocumentId) as RiderDocumentViewModel)?.DocumentModel; if (editableEntity == null) { Logger.Error("Editable entity not found in a document!"); return; } var t4EditableEntityModel = editableEntity.GetT4RdDocumentModel(); document.CreateOutputExtensionChangeListener( editableEntityLifetime, new T4OutputExtensionChangeListener(t4EditableEntityModel.RawTextExtension) ); InitializeExtension(document); }
private IPsiSourceFile GetSourceFile(RdDocumentId id) { var document = myDocumentHost.TryGetHostDocument(id); return(document?.GetPsiSourceFile(mySolution)); }