下面列出了怎么用org.eclipse.jface.text.source.LineRange的API类实例代码及写法,或者点击链接到github查看源代码。
public static ILineRange getLineRange(IJavaElement element, IDocument document)
throws JavaModelException, BadLocationException {
ISourceRange r = ((ISourceReference) element).getSourceRange();
int offset = r.getOffset();
int startLine = document.getLineOfOffset(offset);
int endLine = document.getLineOfOffset(offset + r.getLength());
return new LineRange(startLine, endLine - startLine);
}
private void indent(IDocument document) throws BadLocationException, MalformedTreeException {
// first line
int offset= document.getLineOffset(0);
document.replace(offset, 0, CodeFormatterUtil.createIndentString(fInitialIndentLevel, fProject));
// following lines
int lineCount= document.getNumberOfLines();
IndentUtil.indentLines(document, new LineRange(1, lineCount - 1), fProject, null);
}
private ILineRange getLineRange(IDocument document, ITextSelection selection) throws BadLocationException {
final int offset= selection.getOffset();
int startLine= document.getLineOfOffset(offset);
int endOffset= offset + selection.getLength();
int endLine= document.getLineOfOffset(endOffset);
final int nLines= endLine - startLine + 1;
return new LineRange(startLine, nLines);
}
private ILineRange getLineRange(IDocument document, ICoreTextSelection selection) throws BadLocationException {
final int offset = selection.getOffset();
int startLine = document.getLineOfOffset(offset);
int endOffset = offset + selection.getLength();
int endLine = document.getLineOfOffset(endOffset);
final int nLines = endLine - startLine + 1;
return new LineRange(startLine, nLines);
}
public ILineRange getHoverLineRange(ISourceViewer viewer, int lineNumber) {
return new LineRange(lineNumber, 1);
}