39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System;
|
|
using System.Composition;
|
|
using Microsoft.CodeAnalysis.Host;
|
|
using Microsoft.CodeAnalysis.Host.Mef;
|
|
|
|
namespace Microsoft.VisualStudio.Editor.Razor
|
|
{
|
|
[Shared]
|
|
[ExportWorkspaceServiceFactory(typeof(ProjectPathProvider), ServiceLayer.Default)]
|
|
internal class DefaultProjectPathProviderFactory : IWorkspaceServiceFactory
|
|
{
|
|
private readonly TextBufferProjectService _projectService;
|
|
|
|
[ImportingConstructor]
|
|
public DefaultProjectPathProviderFactory(TextBufferProjectService projectService)
|
|
{
|
|
if (projectService == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(projectService));
|
|
}
|
|
|
|
_projectService = projectService;
|
|
}
|
|
|
|
public IWorkspaceService CreateService(HostWorkspaceServices workspaceServices)
|
|
{
|
|
if (workspaceServices == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(workspaceServices));
|
|
}
|
|
|
|
return new DefaultProjectPathProvider(_projectService);
|
|
}
|
|
}
|
|
}
|