// 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="IndentBlockOperation"/>. /// </summary> [Flags] internal enum IndentBlockOption { /// <summary> /// This indentation will be a delta to the first token in the line in which the base token is present /// </summary> RelativeToFirstTokenOnBaseTokenLine = 0x2, /// <summary> /// <see cref="IndentBlockOperation.IndentationDeltaOrPosition"/> will be interpreted as delta of its enclosing indentation /// </summary> RelativePosition = 0x4, /// <summary> /// <see cref="IndentBlockOperation.IndentationDeltaOrPosition"/> will be interpreted as absolute position /// </summary> AbsolutePosition = 0x8, /// <summary> /// Mask for relative position options /// </summary> RelativePositionMask = RelativeToFirstTokenOnBaseTokenLine | RelativePosition, /// <summary> /// Mask for position options. /// </summary> /// <remarks> /// Each <see cref="IndentBlockOperation"/> specifies one of the position options to indicate the primary /// behavior for the operation. /// </remarks> PositionMask = RelativeToFirstTokenOnBaseTokenLine | RelativePosition | AbsolutePosition, /// <summary> /// Increase the <see cref="IndentBlockOperation.IndentationDeltaOrPosition"/> if the block is part of a /// condition of the anchor token. For example: /// /// <code> /// if (value is /// { // This open brace token is part of a condition of the 'if' token. /// Length: 2 /// }) /// </code> /// </summary> IndentIfConditionOfAnchorToken = 0x10, } |