Exemplo n.º 1
0
        public Tuple <IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(
            Lifetime lifetime,
            IProject project,
            IProjectPsiModuleHandler handler
            )
        {
            var t4ModuleHandler = new T4ProjectPsiModuleHandler(lifetime, handler, _changeManager, _t4Environment, project);

            return(new Tuple <IProjectPsiModuleHandler, IPsiModuleDecorator>(t4ModuleHandler, null));
        }
 public T4ProjectPsiModuleHandler(
     [NotNull] Lifetime lifetime,
     [NotNull] IProjectPsiModuleHandler handler,
     [NotNull] ChangeManager changeManager,
     [NotNull] T4Environment t4Environment,
     [NotNull] IProject project)
     : base(handler)
 {
     _t4PsiModuleProvider = new T4PsiModuleProvider(lifetime, project.Locks, changeManager, t4Environment);
 }
        public UnityShaderModuleHandlerAndDecorator(
            UnityShaderModule module,
            IProjectPsiModuleHandler handler)
            : base(handler)
        {
            myAllModules = new List <IPsiModule>(base.GetAllModules());
            myAllModules.Add(module);

            myShaderLabProperties = new ShaderFilesProperties(true);
            myCppProperties       = new ShaderFilesProperties(false);
            myModule          = module;
            myDocumentManager = module.GetSolution().GetComponent <DocumentManager>();
        }
        public Tuple <IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project,
                                                                                     IProjectPsiModuleHandler handler)
        {
            if (handler.PrimaryModule != null && UnityReferencesTracker.ReferencesUnity(project))
            {
                var module = new UnityShaderModule(project.GetSolution(), project.Name, handler.PrimaryModule.TargetFrameworkId);

                var newHandlerAndDecorator = new UnityShaderModuleHandlerAndDecorator(module, handler);
                return(new Tuple <IProjectPsiModuleHandler, IPsiModuleDecorator>(newHandlerAndDecorator,
                                                                                 newHandlerAndDecorator));
            }

            return(null);
        }
Exemplo n.º 5
0
 public T4ProjectPsiModuleHandler(
     Lifetime lifetime,
     [NotNull] IProjectPsiModuleHandler handler,
     [NotNull] ChangeManager changeManager,
     [NotNull] IT4Environment t4Environment,
     [NotNull] IProject project,
     [NotNull] IT4TemplateKindProvider templateKindProvider
     ) : base(handler)
 {
     TemplateKindProvider = templateKindProvider;
     _t4PsiModuleProvider = new T4PsiModuleProvider(
         lifetime,
         project.Locks,
         changeManager,
         t4Environment,
         templateKindProvider
         );
 }
        public JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project, IProjectPsiModuleHandler handler)
        {
            if (project.ProjectProperties.ProjectKind != ProjectKind.REGULAR_PROJECT ||
                project.ProjectFileLocation.IsNullOrEmpty())
            {
                return null;
            }

            ExternalCodeSettingsKey settingsKey = _settingsStore
                .BindToContextTransient(ContextRange.ApplicationWide)
                .GetKey<ExternalCodeSettingsKey>(SettingsOptimization.OptimizeDefault);

            IEnumerable<string> paths = settingsKey
                .Paths
                .EnumIndexedValues()
                .Select(x => x.Value.Trim())
                .Distinct();
            FileSystemPath[] fileSystemPaths = paths
                .Select(FileSystemPath.TryParse)
                .Where(x => !x.IsEmpty)
                .Select(x => x.ToAbsolutePath(project.Location))
                .ToArray();

            var projectHandler = new GeneratedFilesProjectHandler(
                _shellLocks,
                _documentManager,
                _projectFileExtensions,
                _projectFileTypeCoordinator,
                lifetime,
                project,
                handler,
                _changeManager,
                _fileSystemTracker,
                f => new ExternalSourceFileProperties(project, f), 
                project.GetResolveContext(),
                fileSystemPaths);
            return new JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator>(projectHandler, new GeneratedFilesProjectDecorator(projectHandler));
        }
 public JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project, IProjectPsiModuleHandler handler)
 {
     var t4ModuleHandler = new T4ProjectPsiModuleHandler(lifetime, handler, _changeManager, _t4Environment, project);
     return new JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator>(t4ModuleHandler, null);
 }
        public JetTuple <IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project, IProjectPsiModuleHandler handler)
        {
            var t4ModuleHandler = new T4ProjectPsiModuleHandler(handler, _t4PsiModuleProvider);

            return(new JetTuple <IProjectPsiModuleHandler, IPsiModuleDecorator>(t4ModuleHandler, null));
        }
        public JetTuple <IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project, IProjectPsiModuleHandler handler)
        {
            if (project.ProjectProperties.ProjectKind != ProjectKind.REGULAR_PROJECT ||
                project.ProjectFileLocation.IsNullOrEmpty())
            {
                return(null);
            }

            ExternalCodeSettingsKey settingsKey = _settingsStore
                                                  .BindToContextTransient(ContextRange.ApplicationWide)
                                                  .GetKey <ExternalCodeSettingsKey>(SettingsOptimization.OptimizeDefault);

            IEnumerable <string> paths = settingsKey
                                         .Paths
                                         .EnumIndexedValues()
                                         .Select(x => x.Value.Trim())
                                         .Distinct();

            FileSystemPath[] fileSystemPaths = paths
                                               .Select(FileSystemPath.TryParse)
                                               .Where(x => !x.IsEmpty)
                                               .Select(x => x.ToAbsolutePath(project.Location))
                                               .ToArray();

            var projectHandler = new GeneratedFilesProjectHandler(
                _shellLocks,
                _documentManager,
                _projectFileExtensions,
                _projectFileTypeCoordinator,
                lifetime,
                project,
                handler,
                _changeManager,
                _fileSystemTracker,
                f => new ExternalSourceFileProperties(project, f),
                project.GetResolveContext(),
                fileSystemPaths);

            return(new JetTuple <IProjectPsiModuleHandler, IPsiModuleDecorator>(projectHandler, new GeneratedFilesProjectDecorator(projectHandler)));
        }
Exemplo n.º 10
0
 public T4ProjectPsiModuleHandler([NotNull] IProjectPsiModuleHandler handler, T4PsiModuleProvider t4PsiModuleProvider)
     : base(handler)
 {
     _t4PsiModuleProvider = t4PsiModuleProvider;
 }
 public JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator> OverrideHandler(Lifetime lifetime, IProject project, IProjectPsiModuleHandler handler)
 {
     var t4ModuleHandler = new T4ProjectPsiModuleHandler(handler, _t4PsiModuleProvider);
     return new JetTuple<IProjectPsiModuleHandler, IPsiModuleDecorator>(t4ModuleHandler, null);
 }