/** * Makes our private <code>Segment s</code> point to the text in our * document referenced by the specified element. Note that * <code>line</code> MUST be a valid line number in the document. * * @param line The line number you want to get. */ private void setSharedSegment(int line) { Element map = getDefaultRootElement(); //int numLines = map.getElementCount(); Element element = map.getElement(line); if (element==null) { throw new InternalError("Invalid line number: " + line); } int startOffset = element.getStartOffset(); //int endOffset = (line==numLines-1 ? // element.getEndOffset()-1 : element.getEndOffset() - 1); int endOffset = element.getEndOffset()-1; // Why always "-1"? try { getText(startOffset, endOffset-startOffset, s); } catch (BadLocationException ble) { throw new InternalError("Text range not in document: " + startOffset + "-" + endOffset); } }
return end; doc.getText(offs, end-offs, seg);
getText(startOffset,endOffset-startOffset, s); } catch (BadLocationException ble) { ble.printStackTrace();
end--; doc.getText(start, end-start, seg);
end--; doc.getText(start, end-start, seg);
doc.getText(start, offs-start, seg);
doc.getText(offs, end-offs, seg);
doc.getText(start, dot-start, seg); } catch (BadLocationException ble) { // Never happens ble.printStackTrace();
/** * Makes our private <code>Segment s</code> point to the text in our * document referenced by the specified element. Note that * <code>line</code> MUST be a valid line number in the document. * * @param line The line number you want to get. */ private final void setSharedSegment(int line) { Element map = getDefaultRootElement(); //int numLines = map.getElementCount(); Element element = map.getElement(line); if (element==null) throw new InternalError("Invalid line number: " + line); int startOffset = element.getStartOffset(); //int endOffset = (line==numLines-1 ? // element.getEndOffset()-1 : element.getEndOffset() - 1); int endOffset = element.getEndOffset()-1; // Why always "-1"? try { getText(startOffset, endOffset-startOffset, s); } catch (BadLocationException ble) { throw new InternalError("Text range not in document: " + startOffset + "-" + endOffset); } }
/** * Makes our private <code>Segment s</code> point to the text in our * document referenced by the specified element. Note that * <code>line</code> MUST be a valid line number in the document. * * @param line The line number you want to get. */ private void setSharedSegment(int line) { Element map = getDefaultRootElement(); //int numLines = map.getElementCount(); Element element = map.getElement(line); if (element==null) { throw new InternalError("Invalid line number: " + line); } int startOffset = element.getStartOffset(); //int endOffset = (line==numLines-1 ? // element.getEndOffset()-1 : element.getEndOffset() - 1); int endOffset = element.getEndOffset()-1; // Why always "-1"? try { getText(startOffset, endOffset-startOffset, s); } catch (BadLocationException ble) { throw new InternalError("Text range not in document: " + startOffset + "-" + endOffset); } }
/** * Makes our private <code>Segment s</code> point to the text in our * document referenced by the specified element. Note that * <code>line</code> MUST be a valid line number in the document. * * @param line The line number you want to get. */ private final void setSharedSegment(int line) { Element map = getDefaultRootElement(); //int numLines = map.getElementCount(); Element element = map.getElement(line); if (element==null) throw new InternalError("Invalid line number: " + line); int startOffset = element.getStartOffset(); //int endOffset = (line==numLines-1 ? // element.getEndOffset()-1 : element.getEndOffset() - 1); int endOffset = element.getEndOffset()-1; // Why always "-1"? try { getText(startOffset, endOffset-startOffset, s); } catch (BadLocationException ble) { throw new InternalError("Text range not in document: " + startOffset + "-" + endOffset); } }
return offs+1; // Start of next line. doc.getText(offs, end-offs, seg);
return end; doc.getText(offs, end-offs, seg);
String codigo = documento.getText(0, documento.getLength()); if (!codigo.isEmpty())
private int getTagStart(int end) { Element root = doc.getDefaultRootElement(); int line = root.getElementIndex(end); Element elem = root.getElement(line); int start = elem.getStartOffset(); int lastCharOffs = -1; try { while (line>=0) { doc.getText(start, end-start, s); for (int i=s.offset+s.count-1; i>=s.offset; i--) { char ch = s.array[i]; if (ch=='<') { return lastCharOffs; } else if (Character.isLetterOrDigit(ch)) { lastCharOffs = start + i - s.offset; } } if (--line>=0) { elem = root.getElement(line); start = elem.getStartOffset(); end = elem.getEndOffset(); } } } catch (BadLocationException ble) { ble.printStackTrace(); } return -1; }
/** * Returns a token list for the specified segment of text representing * the specified line number. This method is basically a wrapper for * <code>tokenMaker.getTokenList</code> that takes into account the last * token on the previous line to assure token accuracy. * * @param line The line number of <code>text</code> in the document, >= 0. * @return A token list representing the specified line. */ public final Token getTokenListForLine(int line) { Element map = getDefaultRootElement(); Element elem = map.getElement(line); int startOffset = elem.getStartOffset(); //int endOffset = (line==map.getElementCount()-1 ? elem.getEndOffset() - 1: // elem.getEndOffset() - 1); int endOffset = elem.getEndOffset() - 1; // Why always "-1"? try { getText(startOffset,endOffset-startOffset, s); } catch (BadLocationException ble) { ble.printStackTrace(); return null; } int initialTokenType = line==0 ? Token.NULL : getLastTokenTypeOnLine(line-1); return tokenMaker.getTokenList(s, initialTokenType, startOffset); }
return end; doc.getText(offs, end-offs, seg);
/** * Returns a token list for the specified segment of text representing * the specified line number. This method is basically a wrapper for * <code>tokenMaker.getTokenList</code> that takes into account the last * token on the previous line to assure token accuracy. * * @param line The line number of <code>text</code> in the document, >= 0. * @return A token list representing the specified line. */ public final Token getTokenListForLine(int line) { Element map = getDefaultRootElement(); Element elem = map.getElement(line); int startOffset = elem.getStartOffset(); //int endOffset = (line==map.getElementCount()-1 ? elem.getEndOffset() - 1: // elem.getEndOffset() - 1); int endOffset = elem.getEndOffset() - 1; // Why always "-1"? try { getText(startOffset,endOffset-startOffset, s); } catch (BadLocationException ble) { ble.printStackTrace(); return null; } int initialTokenType = line==0 ? Token.NULL : getLastTokenTypeOnLine(line-1); return tokenMaker.getTokenList(s, initialTokenType, startOffset); }
getText(startOffset,endOffset-startOffset, s); } catch (BadLocationException ble) { ble.printStackTrace();