|
// 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;
namespace Microsoft.CodeAnalysis.Formatting.Rules;
/// <summary>
/// Options for <see cref="SuppressOperation"/>.
///
/// <list type="bullet">
/// <item>
/// <term><see cref="NoWrappingIfOnSingleLine"/></term>
/// <description>no wrapping if given tokens are on same line</description>
/// </item>
/// <item>
/// <term><see cref="NoWrapping"/></term>
/// <description>no wrapping regardless of relative positions of two tokens</description>
/// </item>
/// <item>
/// <term><see cref="NoSpacing"/></term>
/// <description>no spacing regardless of relative positions of two tokens</description>
/// </item>
/// </list>
/// </summary>
[Flags]
internal enum SuppressOption
{
None = 0x0,
NoWrappingIfOnSingleLine = 0x1,
NoWrappingIfOnMultipleLine = 0x2,
NoWrapping = NoWrappingIfOnSingleLine | NoWrappingIfOnMultipleLine,
NoSpacingIfOnSingleLine = 0x4,
NoSpacingIfOnMultipleLine = 0x8,
NoSpacing = NoSpacingIfOnSingleLine | NoSpacingIfOnMultipleLine,
// a suppression operation containing elastic trivia in its start/end token will be ignored
// since they can't be used to determine line alignment between two tokens.
// this option will make engine to accept the operation even if start/end token has elastic trivia
IgnoreElasticWrapping = 0x10,
/// <summary>
/// Completely disable formatting within a span.
/// </summary>
DisableFormatting = 0x20,
}
|