private void ReplaceCaseIndentationRules(List <IndentBlockOperation> list, SyntaxNode node) { var section = node as SwitchSectionSyntax; if (section == null || section.Statements.Count == 0) { return; } var startToken = section.Statements.First().GetFirstToken(includeZeroWidth: true); var endToken = section.Statements.Last().GetLastToken(includeZeroWidth: true); for (int i = 0; i < list.Count; i++) { var operation = list[i]; if (operation.StartToken == startToken && operation.EndToken == endToken) { // replace operation list[i] = FormattingOperations.CreateIndentBlockOperation(startToken, endToken, indentationDelta: 1, option: IndentBlockOption.RelativePosition); } } }
protected static void AddUnindentBlockOperation( List <IndentBlockOperation> list, SyntaxToken startToken, SyntaxToken endToken, TextSpan textSpan, IndentBlockOption option = IndentBlockOption.RelativePosition ) { if (startToken.Kind() == SyntaxKind.None || endToken.Kind() == SyntaxKind.None) { return; } list.Add( FormattingOperations.CreateIndentBlockOperation( startToken, endToken, textSpan, indentationDelta: -1, option: option ) ); }
protected void AddUnindentBlockOperation( List <IndentBlockOperation> list, SyntaxToken startToken, SyntaxToken endToken, bool includeTriviaAtEnd = false, IndentBlockOption option = IndentBlockOption.RelativePosition) { if (startToken.Kind() == SyntaxKind.None || endToken.Kind() == SyntaxKind.None) { return; } if (includeTriviaAtEnd) { list.Add(FormattingOperations.CreateIndentBlockOperation(startToken, endToken, indentationDelta: -1, option: option)); } else { var startPosition = CommonFormattingHelpers.GetStartPositionOfSpan(startToken); var endPosition = endToken.Span.End; list.Add(FormattingOperations.CreateIndentBlockOperation(startToken, endToken, TextSpan.FromBounds(startPosition, endPosition), indentationDelta: -1, option: option)); } }