From 6c9cf0aa0d2c42b9ec985e136d5eb2e8bf09e3b0 Mon Sep 17 00:00:00 2001 From: "michal.hosala" Date: Thu, 21 Apr 2016 11:57:21 +0200 Subject: [PATCH 1/2] Fixed complex trivia tab indentation --- .../Engine/Trivia/TriviaDataFactory.ComplexTrivia.vb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Workspaces/VisualBasic/Portable/Formatting/Engine/Trivia/TriviaDataFactory.ComplexTrivia.vb b/src/Workspaces/VisualBasic/Portable/Formatting/Engine/Trivia/TriviaDataFactory.ComplexTrivia.vb index 0f7ac68d3bbb4..4401f9370de6a 100644 --- a/src/Workspaces/VisualBasic/Portable/Formatting/Engine/Trivia/TriviaDataFactory.ComplexTrivia.vb +++ b/src/Workspaces/VisualBasic/Portable/Formatting/Engine/Trivia/TriviaDataFactory.ComplexTrivia.vb @@ -81,6 +81,10 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Formatting Debug.Assert(Me.SecondTokenIsFirstTokenOnLine OrElse beginningOfNewLine) + If Me.OptionSet.GetOption(FormattingOptions.UseTabs, LanguageNames.VisualBasic) Then + Return True + End If + Return CodeShapeAnalyzer.ShouldFormatMultiLine(context, beginningOfNewLine, list) End Function From 7ef2e05c5e46f6397a4eb110cba63c0759ac1584 Mon Sep 17 00:00:00 2001 From: "michal.hosala" Date: Mon, 25 Apr 2016 12:20:29 +0200 Subject: [PATCH 2/2] Added unit test --- .../Formatting/FormattingTests.vb | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb b/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb index 3fedc31b70e78..dbdeaad5ddc25 100644 --- a/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb +++ b/src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb @@ -1774,6 +1774,33 @@ End Class Await AssertFormatAsync(code, expected, changedOptionSet:=optionSet) End Function + + + Public Async Function ReFormatWithTabsEnabled6() As Task + Dim code = + "Class SomeClass" + vbCrLf + + " Sub Foo() ' Comment" + vbCrLf + + " Foo()" + vbCrLf + + " End Sub" + vbCrLf + + "End Class" + + Dim expected = + "Class SomeClass" + vbCrLf + + vbTab + "Sub Foo() ' Comment" + vbCrLf + + vbTab + vbTab + "Foo()" + vbCrLf + + vbTab + "End Sub" + vbCrLf + + "End Class" + + Dim optionSet = New Dictionary(Of OptionKey, Object) From + { + {New OptionKey(FormattingOptions.UseTabs, LanguageNames.VisualBasic), True}, + {New OptionKey(FormattingOptions.TabSize, LanguageNames.VisualBasic), 4}, + {New OptionKey(FormattingOptions.IndentationSize, LanguageNames.VisualBasic), 4} + } + + Await AssertFormatAsync(code, expected, changedOptionSet:=optionSet) + End Function + Public Async Function ReFormatWithTabsDisabled() As Task Dim code =