public DnxProjectSystem(OmnisharpWorkspace workspace, IOmnisharpEnvironment env, IOptions<OmniSharpOptions> optionsAccessor, ILoggerFactory loggerFactory, IMetadataFileReferenceCache metadataFileReferenceCache, IApplicationLifetime lifetime, IFileSystemWatcher watcher, IEventEmitter emitter, DnxContext context) { _workspace = workspace; _env = env; _logger = loggerFactory.CreateLogger<DnxProjectSystem>(); _metadataFileReferenceCache = metadataFileReferenceCache; _options = optionsAccessor.Options; _dnxPaths = new DnxPaths(env, _options, loggerFactory); _designTimeHostManager = new DesignTimeHostManager(loggerFactory, _dnxPaths); _packagesRestoreTool = new PackagesRestoreTool(_options, loggerFactory, emitter, context, _dnxPaths); _context = context; _watcher = watcher; _emitter = emitter; _directoryEnumerator = new DirectoryEnumerator(loggerFactory); lifetime.ApplicationStopping.Register(OnShutdown); }
public static void PostConfigure(OmniSharpOptions options) { options.RoslynExtensionsOptions ??= new RoslynExtensionsOptions(); options.FormattingOptions ??= new FormattingOptions(); options.FileOptions ??= new FileOptions(); options.RenameOptions ??= new RenameOptions(); options.ImplementTypeOptions ??= new ImplementTypeOptions(); options.Plugins ??= new OmniSharpExtensionsOptions(); }
public PackagesRestoreTool(OmniSharpOptions options, ILoggerFactory logger, IEventEmitter emitter, DnxContext context, DnxPaths paths) { _options = options; _logger = logger.CreateLogger<PackagesRestoreTool>(); _emitter = emitter; _context = context; _paths = paths; _lock = new object(); _projectLocks = new Dictionary<string, object>(); _semaphore = new SemaphoreSlim(Environment.ProcessorCount / 2); }
public static CompositionHost ConfigureMef(IServiceProvider serviceProvider, OmniSharpOptions options, IEnumerable<Assembly> assemblies, Func<ContainerConfiguration, ContainerConfiguration> configure = null) { var config = new ContainerConfiguration(); assemblies = assemblies .Concat(new[] { typeof(OmnisharpWorkspace).GetTypeInfo().Assembly, typeof(IRequest).GetTypeInfo().Assembly }) .Distinct(); foreach (var assembly in assemblies) { config = config.WithAssembly(assembly); } var memoryCache = serviceProvider.GetService<IMemoryCache>(); var loggerFactory = serviceProvider.GetService<ILoggerFactory>(); var env = serviceProvider.GetService<IOmnisharpEnvironment>(); var writer = serviceProvider.GetService<ISharedTextWriter>(); var applicationLifetime = serviceProvider.GetService<IApplicationLifetime>(); var loader = serviceProvider.GetService<IOmnisharpAssemblyLoader>(); config = config .WithProvider(MefValueProvider.From(serviceProvider)) .WithProvider(MefValueProvider.From<IFileSystemWatcher>(new ManualFileSystemWatcher())) .WithProvider(MefValueProvider.From(memoryCache)) .WithProvider(MefValueProvider.From(loggerFactory)) .WithProvider(MefValueProvider.From(env)) .WithProvider(MefValueProvider.From(writer)) .WithProvider(MefValueProvider.From(applicationLifetime)) .WithProvider(MefValueProvider.From(options)) .WithProvider(MefValueProvider.From(options.FormattingOptions)) .WithProvider(MefValueProvider.From(loader)) .WithProvider(MefValueProvider.From(new MetadataHelper(loader))); // other way to do singleton and autowire? if (env.TransportType == TransportType.Stdio) { config = config .WithProvider(MefValueProvider.From<IEventEmitter>(new StdioEventEmitter(writer))); } else { config = config .WithProvider(MefValueProvider.From<IEventEmitter>(new NullEventEmitter())); } if (configure != null) config = configure(config); var container = config.CreateContainer(); return container; }
public DnxPaths(IOmnisharpEnvironment env, OmniSharpOptions options, ILoggerFactory loggerFactory) { _env = env; _options = options; _logger = loggerFactory.CreateLogger<DnxPaths>(); RuntimePath = GetRuntimePath(); Dnx = FirstPath(RuntimePath.Value, "dnx", "dnx.exe"); Dnu = FirstPath(RuntimePath.Value, "dnu", "dnu.cmd"); Klr = FirstPath(RuntimePath.Value, "klr", "klr.exe"); Kpm = FirstPath(RuntimePath.Value, "kpm", "kpm.cmd"); K = FirstPath(RuntimePath.Value, "k", "k.cmd"); }
public AspNet5ProjectSystem(OmnisharpWorkspace workspace, IOmnisharpEnvironment env, IOptions<OmniSharpOptions> optionsAccessor, ILoggerFactory loggerFactory, IMetadataFileReferenceCache metadataFileReferenceCache, IApplicationLifetime lifetime, IFileSystemWatcher watcher, AspNet5Context context) { _workspace = workspace; _env = env; _options = optionsAccessor.Options; _logger = loggerFactory.Create<AspNet5ProjectSystem>(); _metadataFileReferenceCache = metadataFileReferenceCache; _designTimeHostManager = new DesignTimeHostManager(loggerFactory); _context = context; _watcher = watcher; lifetime.ApplicationStopping.Register(OnShutdown); }
public OmnisharpController(OmnisharpWorkspace workspace, IOptions<OmniSharpOptions> optionsAccessor) { _workspace = workspace; _options = optionsAccessor != null ? optionsAccessor.Options : new OmniSharpOptions(); }