当前位置: 首页>>代码示例>>Java>>正文


Java DocumentEx.getLineNumber方法代码示例

本文整理汇总了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();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:SoftWrapApplianceManager.java

示例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();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:LanguageConsoleBuilder.java

示例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();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:29,代码来源:SoftWrapApplianceManager.java

示例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();
}
 
开发者ID:consulo,项目名称:consulo,代码行数:21,代码来源:SoftWrapApplianceManager.java

示例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);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:46,代码来源:JoinLinesHandler.java


注:本文中的com.intellij.openapi.editor.ex.DocumentEx.getLineNumber方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。