diff --git a/src/java/org/hibernate/tool/ide/completion/AntlrSimpleHQLLexer.java b/src/java/org/hibernate/tool/ide/completion/AntlrSimpleHQLLexer.java index c194bd82ac..7216b7bb05 100644 --- a/src/java/org/hibernate/tool/ide/completion/AntlrSimpleHQLLexer.java +++ b/src/java/org/hibernate/tool/ide/completion/AntlrSimpleHQLLexer.java @@ -27,9 +27,8 @@ public void newline() { public int getColumn() { return super.getColumn()-1; } - - }; + lexer.setTabSize(1); } public int getTokenLength() { diff --git a/src/test/org/hibernate/tool/ide/completion/ModelCompletionTest.java b/src/test/org/hibernate/tool/ide/completion/ModelCompletionTest.java index 07708168b5..143a2c90b9 100644 --- a/src/test/org/hibernate/tool/ide/completion/ModelCompletionTest.java +++ b/src/test/org/hibernate/tool/ide/completion/ModelCompletionTest.java @@ -310,6 +310,31 @@ public void testFromNonWhitespace() { assertTrue(completionProposals.length > 0); } + + public void testFromWithTabs() { + Collector c = new Collector(); + + IHQLCodeAssist hqlEval = new HQLCodeAssist(sf); + + String query = null; + int caretPosition = -1; + HQLCompletionProposal[] completionProposals = null; + + c.clear(); + final String codeCompletionPlaceMarker = " from "; + query = "select\t \tt1." + codeCompletionPlaceMarker + "Product t1"; + caretPosition = query.indexOf(codeCompletionPlaceMarker); + hqlEval.codeComplete(query, caretPosition, c); + completionProposals = c.getCompletionProposals(); + assertTrue(completionProposals.length == 0); + + c.clear(); + query = query.replace('\t', ' '); + hqlEval.codeComplete(query, caretPosition, c); + completionProposals = c.getCompletionProposals(); + assertTrue(completionProposals.length > 0); + } + public void testBasicFromPartialEntityName() { Collector c = new Collector();