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


Java LineStatusTrackerManager类代码示例

本文整理汇总了Java中com.intellij.openapi.vcs.impl.LineStatusTrackerManager的典型用法代码示例。如果您正苦于以下问题:Java LineStatusTrackerManager类的具体用法?Java LineStatusTrackerManager怎么用?Java LineStatusTrackerManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


LineStatusTrackerManager类属于com.intellij.openapi.vcs.impl包,在下文中一共展示了LineStatusTrackerManager类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: update

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
@Override
public void update(AnActionEvent e) {
  Project project = e.getProject();
  Editor editor = e.getData(CommonDataKeys.EDITOR);
  if (project == null || editor == null) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  if (DiffUtil.isDiffEditor(editor)) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  LineStatusTracker tracker = LineStatusTrackerManager.getInstance(project).getLineStatusTracker(editor.getDocument());
  if (tracker == null || tracker.isSilentMode()) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  if (!isSomeChangeSelected(editor, tracker)) {
    e.getPresentation().setVisible(true);
    e.getPresentation().setEnabled(false);
    return;
  }
  e.getPresentation().setEnabledAndVisible(true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:RollbackLineStatusAction.java

示例2: getRanges

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
public PreparedFragmentedContent getRanges(Change change) throws VcsException {
  FilePath filePath = ChangesUtil.getFilePath(change);

  final RangesCalculator calculator = new RangesCalculator();
  calculator.execute(change, filePath, myRangesCache, LineStatusTrackerManager.getInstance(myProject));
  final VcsException exception = calculator.getException();
  if (exception != null) {
    LOG.info(exception);
    throw exception;
  }
  List<BeforeAfter<TextRange>> ranges = calculator.getRanges();
  if (ranges == null || ranges.isEmpty()) return null;
  FragmentedContent fragmentedContent = new FragmentedContent(calculator.getOldDocument(), calculator.getDocument(), ranges, change);
  VirtualFile file = filePath.getVirtualFile();
  if (file == null) {
    file = LocalFileSystem.getInstance().refreshAndFindFileByPath(filePath.getPath());
  }
  return new PreparedFragmentedContent(myProject, fragmentedContent,
                                  filePath.getName(), filePath.getFileType(),
                                  change.getBeforeRevision() == null ? null : change.getBeforeRevision().getRevisionNumber(),
                                  change.getAfterRevision() == null ? null : change.getAfterRevision().getRevisionNumber(), filePath, file);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:FragmentedDiffRequestFromChange.java

示例3: ShowChangeMarkerAction

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
public ShowChangeMarkerAction() {
  myChangeMarkerContext = new ChangeMarkerContext() {
    public Range getRange(VcsContext context) {
      Editor editor = getEditor(context);
      if (editor == null) return null;

      LineStatusTracker lineStatusTracker = getLineStatusTracker(context);
      if (lineStatusTracker == null) return null;

      return extractRange(lineStatusTracker, editor.getCaretModel().getLogicalPosition().line, editor);
    }

    public LineStatusTracker getLineStatusTracker(VcsContext dataContext) {
      Editor editor = getEditor(dataContext);
      if (editor == null) return null;
      Project project = dataContext.getProject();
      if (project == null) return null;
      return LineStatusTrackerManager.getInstance(project).getLineStatusTracker(editor.getDocument());
    }

    public Editor getEditor(VcsContext dataContext) {
      return dataContext.getEditor();
    }
  };
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:ShowChangeMarkerAction.java

示例4: update

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
@Override
public void update(AnActionEvent e) {
  Project project = e.getProject();
  Editor editor = e.getData(CommonDataKeys.EDITOR);
  if (project == null || editor == null) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  if (DiffUtil.isDiffEditor(editor)) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  LineStatusTracker tracker = LineStatusTrackerManager.getInstance(project).getLineStatusTracker(editor.getDocument());
  if (tracker == null || !tracker.isValid() || tracker.isSilentMode()) {
    e.getPresentation().setEnabledAndVisible(false);
    return;
  }
  if (!isSomeChangeSelected(editor, tracker)) {
    e.getPresentation().setVisible(true);
    e.getPresentation().setEnabled(false);
    return;
  }
  e.getPresentation().setEnabledAndVisible(true);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:25,代码来源:RollbackLineStatusAction.java

示例5: getCachedChangedLines

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
@Nullable
private static List<TextRange> getCachedChangedLines(@NotNull Project project, @NotNull Document document) {
  LineStatusTracker tracker = LineStatusTrackerManager.getInstance(project).getLineStatusTracker(document);
  if (tracker != null) {
    List<Range> ranges = tracker.getRanges();
    return getChangedTextRanges(document, ranges);
  }

  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:VcsAwareFormatChangedTextUtil.java

示例6: ShowChangeMarkerAction

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
public ShowChangeMarkerAction() {
  myChangeMarkerContext = new ChangeMarkerContext() {
    @Override
    public Range getRange(VcsContext context) {
      Editor editor = getEditor(context);
      if (editor == null) return null;

      LineStatusTracker lineStatusTracker = getLineStatusTracker(context);
      if (lineStatusTracker == null) return null;

      return extractRange(lineStatusTracker, editor.getCaretModel().getLogicalPosition().line, editor);
    }

    @Override
    public LineStatusTracker getLineStatusTracker(VcsContext dataContext) {
      Editor editor = getEditor(dataContext);
      if (editor == null) return null;
      Project project = dataContext.getProject();
      if (project == null) return null;
      return LineStatusTrackerManager.getInstance(project).getLineStatusTracker(editor.getDocument());
    }

    @Override
    public Editor getEditor(VcsContext dataContext) {
      return dataContext.getEditor();
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:29,代码来源:ShowChangeMarkerAction.java

示例7: getRanges

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
public PreparedFragmentedContent getRanges(Change change) throws VcsException {
  final FilePath filePath = ChangesUtil.getFilePath(change);

  final RangesCalculator calculator = new RangesCalculator();
  calculator.execute(change, filePath, myRangesCache, LineStatusTrackerManager.getInstance(myProject));
  final VcsException exception = calculator.getException();
  if (exception != null) {
    LOG.info(exception);
    throw exception;
  }
  List<BeforeAfter<TextRange>> ranges = calculator.getRanges();
  if (ranges == null || ranges.isEmpty()) return null;
  FragmentedContent fragmentedContent = new FragmentedContent(calculator.getOldDocument(), calculator.getDocument(), ranges);
  final FileStatus fs = change.getFileStatus();
  fragmentedContent.setIsAddition(FileStatus.ADDED.equals(fs));
  fragmentedContent.setOneSide(FileStatus.ADDED.equals(fs) || FileStatus.DELETED.equals(fs));
  VirtualFile file = filePath.getVirtualFile();
  if (file == null) {
    filePath.hardRefresh();
    file = filePath.getVirtualFile();
  }
  final PreparedFragmentedContent preparedFragmentedContent = new PreparedFragmentedContent(myProject, fragmentedContent,
                                  filePath.getName(), filePath.getFileType(),
                                  change.getBeforeRevision() == null ? null : change.getBeforeRevision().getRevisionNumber(),
                                  change.getAfterRevision() == null ? null : change.getAfterRevision().getRevisionNumber(), filePath, file);
  return preparedFragmentedContent;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:28,代码来源:FragmentedDiffRequestFromChange.java

示例8: hasChanges

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
/**
 * Allows to answer if given file has changes in comparison with VCS.
 * 
 * @param file  target file
 * @return      <code>true</code> if given file has changes; <code>false</code> otherwise
 */
public static boolean hasChanges(@NotNull PsiFile file) {
  final Project project = file.getProject();
  final VirtualFile virtualFile = file.getVirtualFile();
  if (virtualFile != null) {
    final Change change = ChangeListManager.getInstance(project).getChange(virtualFile);
    if (change != null && change.getType() == Change.Type.NEW) {
      return true;
    }
  }

  final LineStatusTrackerManagerI manager = LineStatusTrackerManager.getInstance(project);
  if (manager == null) {
    return false;
  }
  
  final Document document = PsiDocumentManager.getInstance(project).getDocument(file);
  if (document == null) {
    return false;
  }
  final LineStatusTracker lineStatusTracker = manager.getLineStatusTracker(document);
  if (lineStatusTracker == null) {
    return false;
  }
  final List<Range> ranges = lineStatusTracker.getRanges();
  if (ranges == null || ranges.isEmpty()) {
    return false;
  } 
  for (Range range : ranges) {
    if (range.getType() != Range.DELETED) {
      return true;
    }
  }
  return false;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:41,代码来源:FormatChangedTextUtil.java

示例9: getChanges

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
/**
 * Allows to ask for the changed text of the given file (in comparison with VCS).
 * 
 * @param file  target file
 * @return      collection of changed regions for the given file
 */
@NotNull
public static Collection<TextRange> getChanges(@NotNull PsiFile file) {
  final Set<TextRange> defaultResult = Collections.singleton(file.getTextRange());
  final VirtualFile virtualFile = file.getVirtualFile();
  if (virtualFile != null) {
    final Change change = ChangeListManager.getInstance(file.getProject()).getChange(virtualFile);
    if (change != null && change.getType() == Change.Type.NEW) {
      return defaultResult;
    }
  }

  final LineStatusTrackerManagerI manager = LineStatusTrackerManager.getInstance(file.getProject());
  if (manager == null) {
    return defaultResult;
  }
  final Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
  if (document == null) {
    return defaultResult;
  }
  final LineStatusTracker lineStatusTracker = manager.getLineStatusTracker(document);
  if (lineStatusTracker == null) {
    return defaultResult;
  }
  final List<Range> ranges = lineStatusTracker.getRanges();
  if (ranges == null || ranges.isEmpty()) {
    return defaultResult;
  }
  
  List<TextRange> result = new ArrayList<TextRange>();
  for (Range range : ranges) {
    if (range.getType() != Range.DELETED) {
      final RangeHighlighter highlighter = range.getHighlighter();
      if (highlighter != null) {
        result.add(new TextRange(highlighter.getStartOffset(), highlighter.getEndOffset()));
      }
    }
  }
  return result;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:46,代码来源:FormatChangedTextUtil.java

示例10: getCachedChangedLines

import com.intellij.openapi.vcs.impl.LineStatusTrackerManager; //导入依赖的package包/类
@Nullable
private static List<TextRange> getCachedChangedLines(@Nonnull Project project, @Nonnull Document document) {
  LineStatusTracker tracker = LineStatusTrackerManager.getInstance(project).getLineStatusTracker(document);
  if (tracker != null && tracker.isValid()) {
    List<Range> ranges = tracker.getRanges();
    return getChangedTextRanges(document, ranges);
  }

  return null;
}
 
开发者ID:consulo,项目名称:consulo,代码行数:11,代码来源:VcsAwareFormatChangedTextUtil.java


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