Example #1
0
        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);
        }
Example #2
0
        private IPsiSourceFile GetSourceFile(RdDocumentId id)
        {
            var document = myDocumentHost.TryGetHostDocument(id);

            return(document?.GetPsiSourceFile(mySolution));
        }