本文整理汇总了Java中com.intellij.openapi.editor.ex.DocumentEx.getLineNumber方法的典型用法代码示例。如果您正苦于以下问题:Java DocumentEx.getLineNumber方法的具体用法?Java DocumentEx.getLineNumber怎么用?Java DocumentEx.getLineNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.openapi.editor.ex.DocumentEx
的用法示例。
在下文中一共展示了DocumentEx.getLineNumber方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: advance
import com.intellij.openapi.editor.ex.DocumentEx; //导入方法依赖的package包/类
/**
* Updates state of the current context object in order to point to the end of the given collapsed fold region.
*
* @param foldRegion collapsed fold region to process
*/
private void advance(FoldRegion foldRegion, int placeHolderWidthInPixels) {
lastFoldStartPosition = currentPosition.clone();
lastFold = foldRegion;
int visualLineBefore = currentPosition.visualLine;
int logicalLineBefore = currentPosition.logicalLine;
int logicalColumnBefore = currentPosition.logicalColumn;
currentPosition.advance(foldRegion, -1);
currentPosition.x += placeHolderWidthInPixels;
int collapsedFoldingWidthInColumns = currentPosition.logicalColumn;
if (currentPosition.logicalLine <= logicalLineBefore) {
// Single-line fold region.
collapsedFoldingWidthInColumns = currentPosition.logicalColumn - logicalColumnBefore;
}
else {
final DocumentEx document = myEditor.getDocument();
int endFoldLine = document.getLineNumber(foldRegion.getEndOffset());
logicalLineData.endLineOffset = document.getLineEndOffset(endFoldLine);
}
notifyListenersOnFoldRegion(foldRegion, collapsedFoldingWidthInColumns, visualLineBefore);
tokenStartOffset = myContext.currentPosition.offset;
softWrapStartOffset = foldRegion.getEndOffset();
lastFoldEndPosition = currentPosition.clone();
}
示例2: documentChanged
import com.intellij.openapi.editor.ex.DocumentEx; //导入方法依赖的package包/类
@Override
public void documentChanged(DocumentEvent event) {
DocumentEx document = getDocument();
if (document.isInBulkUpdate()) {
return;
}
if (document.getTextLength() > 0) {
addLineSeparatorPainterIfNeed();
int startDocLine = document.getLineNumber(event.getOffset());
int endDocLine = document.getLineNumber(event.getOffset() + event.getNewLength());
if (event.getOldLength() > event.getNewLength() || startDocLine != endDocLine || StringUtil.indexOf(event.getOldFragment(), '\n') != -1) {
updateGutterSize(startDocLine, endDocLine);
}
}
else if (event.getOldLength() > 0) {
documentCleared();
}
}
示例3: advance
import com.intellij.openapi.editor.ex.DocumentEx; //导入方法依赖的package包/类
/**
* Updates state of the current context object in order to point to the end of the given collapsed fold region.
*
* @param foldRegion collapsed fold region to process
*/
private void advance(FoldRegion foldRegion, int placeHolderWidthInPixels) {
lastFoldStartPosition = currentPosition.clone();
lastFold = foldRegion;
int visualLineBefore = currentPosition.visualLine;
int logicalLineBefore = currentPosition.logicalLine;
int logicalColumnBefore = currentPosition.logicalColumn;
currentPosition.advance(foldRegion);
currentPosition.x += placeHolderWidthInPixels;
int collapsedFoldingWidthInColumns = currentPosition.logicalColumn;
if (currentPosition.logicalLine <= logicalLineBefore) {
// Single-line fold region.
collapsedFoldingWidthInColumns = currentPosition.logicalColumn - logicalColumnBefore;
}
else {
final DocumentEx document = myEditor.getDocument();
int endFoldLine = document.getLineNumber(foldRegion.getEndOffset());
logicalLineData.endLineOffset = document.getLineEndOffset(endFoldLine);
}
notifyListenersOnFoldRegion(foldRegion, collapsedFoldingWidthInColumns, visualLineBefore);
tokenStartOffset = myContext.currentPosition.offset;
softWrapStartOffset = foldRegion.getEndOffset();
lastFoldEndPosition = currentPosition.clone();
}
示例4: advance
import com.intellij.openapi.editor.ex.DocumentEx; //导入方法依赖的package包/类
/**
* Updates state of the current context object in order to point to the end of the given collapsed fold region.
*
* @param foldRegion collapsed fold region to process
*/
private void advance(FoldRegion foldRegion, int placeHolderWidthInPixels) {
lastFoldStartPosition = currentPosition.clone();
lastFold = foldRegion;
int logicalLineBefore = currentPosition.logicalLine;
currentPosition.advance(foldRegion);
currentPosition.x += placeHolderWidthInPixels;
if (currentPosition.logicalLine > logicalLineBefore) {
final DocumentEx document = myEditor.getDocument();
int endFoldLine = document.getLineNumber(foldRegion.getEndOffset());
logicalLineData.endLineOffset = document.getLineEndOffset(endFoldLine);
}
tokenStartOffset = myContext.currentPosition.offset;
softWrapStartOffset = foldRegion.getEndOffset();
lastFoldEndPosition = currentPosition.clone();
}
示例5: executeWriteAction
import com.intellij.openapi.editor.ex.DocumentEx; //导入方法依赖的package包/类
@Override
public void executeWriteAction(final Editor editor, final DataContext dataContext) {
if (!(editor.getDocument() instanceof DocumentEx)) {
myOriginalHandler.execute(editor, dataContext);
return;
}
final DocumentEx doc = (DocumentEx)editor.getDocument();
final Project project = PlatformDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(editor.getContentComponent()));
if (project == null) {
return;
}
LogicalPosition caretPosition = editor.getCaretModel().getLogicalPosition();
final PsiDocumentManager docManager = PsiDocumentManager.getInstance(project);
PsiFile psiFile = docManager.getPsiFile(doc);
if (psiFile == null) {
myOriginalHandler.execute(editor, dataContext);
return;
}
int startLine = caretPosition.line;
int endLine = startLine + 1;
if (editor.getSelectionModel().hasSelection()) {
startLine = doc.getLineNumber(editor.getSelectionModel().getSelectionStart());
endLine = doc.getLineNumber(editor.getSelectionModel().getSelectionEnd());
if (doc.getLineStartOffset(endLine) == editor.getSelectionModel().getSelectionEnd()) endLine--;
}
final int startReformatOffset = CharArrayUtil.shiftBackward(doc.getCharsSequence(), doc.getLineEndOffset(startLine), " \t");
CodeEditUtil.setNodeReformatStrategy(new NotNullFunction<ASTNode, Boolean>() {
@NotNull
@Override
public Boolean fun(ASTNode node) {
return node.getTextRange().getStartOffset() >= startReformatOffset;
}
});
try {
doJob(editor, doc, project, docManager, psiFile, startLine, endLine);
}
finally {
CodeEditUtil.setNodeReformatStrategy(null);
}
}