[Plog4u-devel] net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/model Wiki
Status: Beta
Brought to you by:
axelcl
From: Dom <dom...@us...> - 2005-10-14 04:12:28
|
Update of /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23917/src/net/sourceforge/phpeclipse/wiki/editor/model Modified Files: WikipediaOutlineParser.java Log Message: Send a "File contains no visible content" message when the file is empty Index: WikipediaOutlineParser.java =================================================================== RCS file: /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/model/WikipediaOutlineParser.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** WikipediaOutlineParser.java 28 Sep 2005 19:29:18 -0000 1.6 --- WikipediaOutlineParser.java 14 Oct 2005 04:12:20 -0000 1.7 *************** *** 14,17 **** --- 14,18 ---- import net.sourceforge.phpeclipse.wiki.parser.ExprLexer; import net.sourceforge.phpeclipse.wiki.parser.WikiParserForEclipse; + import net.sourceforge.phpeclipse.wiki.renderer.StringUtil; import org.eclipse.core.resources.IFile; *************** *** 111,168 **** removeProblemsFor(); ! String text = fDocument.get() + ExprLexer.EOF_CHAR; ! ExprLexer lexer = new ExprLexer(new CharArrayReader(text.toCharArray())); ! WikiParserForEclipse parser = new WikiParserForEclipse(lexer, fFile,fDocument); ! try { ! parser.document(); ! } catch (RecognitionException e) { ! createWarning(e.getLine(), e.getColumn(), e.getColumn()+ 1 , ! e.getMessage() + " : \'" + e + "\'"); ! } catch (TokenStreamRecognitionException e) { ! createWarning(e.recog.getLine(), e.recog.getColumn() , e.recog.getColumn()+1 , ! e.getMessage() + " : \'" + e+ "\'"); ! } catch (TokenStreamException e) { ! createWarning(1, 1 , 2 , ! e.getMessage() + " : \'" + e+ "\'"); ! } ! while (fLine < fLineCount) { ! region = fDocument.getLineInformation(fLine); ! textString = fDocument.get(region.getOffset(), region.getLength()); ! tableOfChar = textString.toCharArray(); ! ! fLine++; ! headerStartOffset = 0; ! if (tableOfChar.length >= 2 && tableOfChar[headerStartOffset++] == '=') { ! headerEndOffset = tableOfChar.length; ! while (headerEndOffset > 0 && Character.isWhitespace(tableOfChar[--headerEndOffset])) { ! // ! } ! if (tableOfChar[headerEndOffset] == '=') { ! // header section ! while (headerStartOffset < tableOfChar.length && headerStartOffset < 6 && tableOfChar[headerStartOffset++] == '=') { ! // ! } ! headerLevelCounter = 1; ! while (headerEndOffset > 0 && headerLevelCounter < headerStartOffset && tableOfChar[--headerEndOffset] == '=') { ! headerLevelCounter++; ! } ! if (headerStartOffset > 0 && (headerEndOffset - headerStartOffset + 2 > 0)) { ! headerString = new String(tableOfChar, headerStartOffset - 1, headerEndOffset - headerStartOffset + 2); ! addSection(mainWikiSection, new WikipediaSection(mainWikiSection, headerString, headerLevelCounter, region.getOffset(), 1), stack, ! region); ! } ! } ! } ! } ! if (!stack.isEmpty()) { ! reduceSection(mainWikiSection, stack, region); ! } return mainWikiSection; } --- 112,188 ---- removeProblemsFor(); ! String text = fDocument.get(); ! if (StringUtil.checkNoContent(text)) { ! createWarning(1, 1, 2, "File contains no visible content"); ! } else { ! ExprLexer lexer = new ExprLexer(new CharArrayReader(text ! .toCharArray())); ! WikiParserForEclipse parser = new WikiParserForEclipse(lexer, ! fFile, fDocument); ! try { ! parser.document(); ! } catch (RecognitionException e) { ! createWarning(e.getLine(), e.getColumn(), e.getColumn() + 1, e ! .getMessage() ! + " : \'" + e + "\'"); ! } catch (TokenStreamRecognitionException e) { ! createWarning(e.recog.getLine(), e.recog.getColumn(), e.recog ! .getColumn() + 1, e.getMessage() + " : \'" + e + "\'"); ! } catch (TokenStreamException e) { ! createWarning(1, 1, 2, e.getMessage() + " : \'" + e + "\'"); ! } ! while (fLine < fLineCount) { ! region = fDocument.getLineInformation(fLine); ! textString = fDocument.get(region.getOffset(), region ! .getLength()); ! tableOfChar = textString.toCharArray(); ! fLine++; ! headerStartOffset = 0; ! if (tableOfChar.length >= 2 ! && tableOfChar[headerStartOffset++] == '=') { ! headerEndOffset = tableOfChar.length; ! while (headerEndOffset > 0 ! && Character ! .isWhitespace(tableOfChar[--headerEndOffset])) { ! // ! } ! if (tableOfChar[headerEndOffset] == '=') { ! // header section ! while (headerStartOffset < tableOfChar.length ! && headerStartOffset < 6 ! && tableOfChar[headerStartOffset++] == '=') { ! // ! } ! headerLevelCounter = 1; ! while (headerEndOffset > 0 ! && headerLevelCounter < headerStartOffset ! && tableOfChar[--headerEndOffset] == '=') { ! headerLevelCounter++; ! } ! if (headerStartOffset > 0 ! && (headerEndOffset - headerStartOffset + 2 > 0)) { ! headerString = new String(tableOfChar, ! headerStartOffset - 1, headerEndOffset ! - headerStartOffset + 2); ! addSection(mainWikiSection, new WikipediaSection( ! mainWikiSection, headerString, ! headerLevelCounter, region.getOffset(), 1), ! stack, region); ! } ! ! } ! } ! } ! if (!stack.isEmpty()) { ! reduceSection(mainWikiSection, stack, region); ! } ! } return mainWikiSection; } |