boolean () { SyntaxTreeBuilder.Marker ipythonHelp = myBuilder.mark(); while (myBuilder.getTokenType() != PyTokenTypes.STATEMENT_BREAK && myBuilder.getTokenType() != PyTokenTypes.LINE_BREAK && !myBuilder.eof() ) { myBuilder.advanceLexer(); } if (myBuilder.rawLookup(-1) != PyConsoleTokenTypes.QUESTION_MARK) { ipythonHelp.rollbackTo(); return false; } int lookupIndex = -2; if (myBuilder.rawLookup(lookupIndex) == PyConsoleTokenTypes.QUESTION_MARK) { --lookupIndex; } if (myBuilder.rawLookup(lookupIndex) == PyTokenTypes.MULT) { ipythonHelp.rollbackTo(); parseIPythonCommand(); return true; } if (myBuilder.rawLookup(lookupIndex) != PyTokenTypes.IDENTIFIER) { myBuilder.error(PyParsingBundle.message("PARSE.console.help.request.warn")); } ipythonHelp.done(PyElementTypes.EMPTY_EXPRESSION); myBuilder.advanceLexer(); return true; }