diff --git a/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/FoldingTest.java b/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/FoldingTest.java index 65a1aa810..5e2b72e85 100644 --- a/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/FoldingTest.java +++ b/org.eclipse.xtext.ide.tests/src/org/eclipse/xtext/ide/tests/server/FoldingTest.java @@ -24,4 +24,13 @@ public class FoldingTest extends AbstractTestLangLanguageServerTest { }); } + @Test + public void testFoldingService2() { + testFolding(it -> { + it.setModel("package a\n.b {\n\n}\n");// significate region with size > 1 line + String expectedText = "[null 0..3]\n"; + it.setExpectedFoldings(expectedText); + }); + } + } diff --git a/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/folding/DefaultFoldingRangeProvider.java b/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/folding/DefaultFoldingRangeProvider.java index 8eca1ba18..5b6dfb6c9 100644 --- a/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/folding/DefaultFoldingRangeProvider.java +++ b/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/folding/DefaultFoldingRangeProvider.java @@ -112,8 +112,8 @@ public class DefaultFoldingRangeProvider implements IFoldingRangeProvider { int endLine; if (significantRegion instanceof ITextRegionWithLineInformation) { ITextRegionWithLineInformation lineInfoRegion = (ITextRegionWithLineInformation) significantRegion; - startLine = lineInfoRegion.getLineNumber(); - endLine = lineInfoRegion.getEndLineNumber(); + startLine = lineInfoRegion.getLineNumber() + 1; + endLine = lineInfoRegion.getEndLineNumber() + 1; } else { startLine = NodeModelUtils.getLineAndColumn(node, offset).getLine(); endLine = NodeModelUtils.getLineAndColumn(node, endOffset).getLine();