| File: src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\Core\Formatting\SyntaxFormattingOptionsProviders.cs | Web Access |
| Project: Microsoft.CodeAnalysis.Workspaces.csproj (Microsoft.CodeAnalysis.Workspaces) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Shared.Extensions; namespace Microsoft.CodeAnalysis.Formatting; internal static class SyntaxFormattingOptionsProviders { public static SyntaxFormattingOptions GetSyntaxFormattingOptions(this IOptionsReader options, Host.LanguageServices languageServices) => languageServices.GetRequiredService<ISyntaxFormattingService>().GetFormattingOptions(options); public static async ValueTask<SyntaxFormattingOptions> GetSyntaxFormattingOptionsAsync(this Document document, CancellationToken cancellationToken) { var configOptions = await document.GetHostAnalyzerConfigOptionsAsync(cancellationToken).ConfigureAwait(false); var formatting = document.GetRequiredLanguageService<ISyntaxFormattingService>(); return formatting.GetFormattingOptions(configOptions); } public static SyntaxFormattingOptions GetDefault(Host.LanguageServices languageServices) => languageServices.GetRequiredService<ISyntaxFormattingService>().DefaultOptions; }