|
6 | 6 | using Castle.Facilities.TypedFactory;
|
7 | 7 | using Castle.MicroKernel.ModelBuilder.Inspectors;
|
8 | 8 | using Castle.MicroKernel.Registration;
|
| 9 | +using Component = Castle.MicroKernel.Registration.Component; |
9 | 10 | using Castle.MicroKernel.Resolvers.SpecializedResolvers;
|
10 | 11 | using Castle.MicroKernel.SubSystems.Configuration;
|
11 | 12 | using Castle.Windsor;
|
| 13 | +using Rubberduck.AutoComplete; |
| 14 | +using Rubberduck.AutoComplete.Service; |
| 15 | +using Rubberduck.CodeAnalysis.CodeMetrics; |
12 | 16 | using Rubberduck.ComClientLibrary.UnitTesting;
|
13 | 17 | using Rubberduck.Common;
|
14 | 18 | using Rubberduck.Common.Hotkeys;
|
15 | 19 | using Rubberduck.Inspections.Rubberduck.Inspections;
|
16 | 20 | using Rubberduck.Parsing;
|
| 21 | +using Rubberduck.Parsing.Common; |
17 | 22 | using Rubberduck.Parsing.ComReflection;
|
18 | 23 | using Rubberduck.Parsing.Inspections.Abstract;
|
19 | 24 | using Rubberduck.Parsing.PreProcessing;
|
20 | 25 | using Rubberduck.Parsing.Symbols.DeclarationLoaders;
|
| 26 | +using Rubberduck.Parsing.Rewriter; |
21 | 27 | using Rubberduck.Parsing.VBA;
|
| 28 | +using Rubberduck.Parsing.VBA.ComReferenceLoading; |
| 29 | +using Rubberduck.Parsing.VBA.DeclarationCaching; |
| 30 | +using Rubberduck.Parsing.VBA.DeclarationResolving; |
| 31 | +using Rubberduck.Parsing.VBA.Parsing; |
| 32 | +using Rubberduck.Parsing.VBA.Parsing.ParsingExceptions; |
| 33 | +using Rubberduck.Parsing.VBA.ReferenceManagement; |
22 | 34 | using Rubberduck.Settings;
|
| 35 | +using GeneralSettings = Rubberduck.Settings.GeneralSettings; |
23 | 36 | using Rubberduck.SettingsProvider;
|
24 | 37 | using Rubberduck.SmartIndenter;
|
| 38 | +using IndenterSettings = Rubberduck.SmartIndenter.IndenterSettings; |
25 | 39 | using Rubberduck.UI;
|
| 40 | +using Rubberduck.UI.AddRemoveReferences; |
26 | 41 | using Rubberduck.UI.Command;
|
27 | 42 | using Rubberduck.UI.Command.MenuItems;
|
28 | 43 | using Rubberduck.UI.Command.MenuItems.CommandBars;
|
29 | 44 | using Rubberduck.UI.Command.MenuItems.ParentMenus;
|
30 | 45 | using Rubberduck.UI.Controls;
|
31 | 46 | using Rubberduck.UI.Refactorings;
|
32 | 47 | using Rubberduck.UI.Refactorings.Rename;
|
| 48 | +using Rubberduck.UI.Settings; |
33 | 49 | using Rubberduck.UI.UnitTesting;
|
34 | 50 | using Rubberduck.UnitTesting;
|
35 |
| -using Rubberduck.VBEditor.SafeComWrappers.Abstract; |
36 |
| -using Component = Castle.MicroKernel.Registration.Component; |
| 51 | +using Rubberduck.VBEditor; |
37 | 52 | using Rubberduck.VBEditor.ComManagement;
|
38 |
| -using Rubberduck.Parsing.Common; |
| 53 | +using Rubberduck.VBEditor.ComManagement.TypeLibs; |
39 | 54 | using Rubberduck.VBEditor.ComManagement.TypeLibsAPI;
|
40 | 55 | using Rubberduck.VBEditor.Events;
|
41 | 56 | using Rubberduck.VBEditor.Utility;
|
42 |
| -using Rubberduck.AutoComplete; |
43 |
| -using Rubberduck.AutoComplete.Service; |
44 |
| -using Rubberduck.CodeAnalysis.CodeMetrics; |
45 |
| -using Rubberduck.Parsing.Rewriter; |
46 |
| -using Rubberduck.Parsing.VBA.ComReferenceLoading; |
47 |
| -using Rubberduck.Parsing.VBA.DeclarationResolving; |
48 |
| -using Rubberduck.Parsing.VBA.Parsing; |
49 |
| -using Rubberduck.Parsing.VBA.ReferenceManagement; |
50 |
| -using Rubberduck.VBEditor; |
51 |
| -using Rubberduck.VBEditor.ComManagement.TypeLibs; |
| 57 | +using Rubberduck.VBEditor.SafeComWrappers.Abstract; |
52 | 58 | using Rubberduck.VBEditor.SourceCodeHandling;
|
53 |
| -using Rubberduck.Parsing.VBA.DeclarationCaching; |
54 |
| -using Rubberduck.Parsing.VBA.Parsing.ParsingExceptions; |
55 |
| -using Rubberduck.UI.AddRemoveReferences; |
56 |
| -using Rubberduck.UI.Settings; |
57 |
| -using GeneralSettings = Rubberduck.Settings.GeneralSettings; |
58 |
| -using IndenterSettings = Rubberduck.SmartIndenter.IndenterSettings; |
59 | 59 |
|
60 | 60 | namespace Rubberduck.Root
|
61 | 61 | {
|
@@ -204,20 +204,21 @@ private void RegisterConfiguration(IWindsorContainer container, Assembly[] assem
|
204 | 204 | {
|
205 | 205 | container.Register(Classes.FromAssembly(assembly)
|
206 | 206 | .IncludeNonPublicTypes()
|
207 |
| - .Where(type => type.Namespace == typeof(Configuration).Namespace && type.NotDisabledOrExperimental(_initialSettings)) |
| 207 | + .Where(type => type.Namespace == typeof(Configuration).Namespace |
| 208 | + && type.NotDisabledOrExperimental(_initialSettings) |
| 209 | + && type != typeof(ExperimentalTypesProvider)) |
208 | 210 | .WithService.AllInterfaces()
|
209 | 211 | .LifestyleSingleton());
|
210 | 212 |
|
211 | 213 | experimentalTypes.AddRange(assembly.GetTypes()
|
212 | 214 | .Where(t => Attribute.IsDefined(t, typeof(ExperimentalAttribute))));
|
213 | 215 | }
|
214 | 216 |
|
215 |
| - // FIXME correctly register experimentalFeatureTypes. |
216 |
| - // This is probably blocked until GeneralSettingsViewModel is no more newed up in SettingsForm's code-behind |
217 |
| - //container.Register(Component.For(typeof(IEnumerable<Type>)) |
218 |
| - // .DependsOn(Dependency.OnComponent<ViewModelBase, GeneralSettingsViewModel>()) |
219 |
| - // .LifestyleSingleton() |
220 |
| - // .Instance(experimentalTypes)); |
| 217 | + var provider = new ExperimentalTypesProvider(experimentalTypes); |
| 218 | + container.Register(Component.For(typeof(IExperimentalTypesProvider)) |
| 219 | + .DependsOn(Dependency.OnComponent<ViewModelBase, GeneralSettingsViewModel>()) |
| 220 | + .LifestyleSingleton() |
| 221 | + .Instance(provider)); |
221 | 222 |
|
222 | 223 | container.Register(Component.For<IComProjectSerializationProvider>()
|
223 | 224 | .ImplementedBy<XmlComProjectSerializer>()
|
|
0 commit comments