當前位置: 首頁>>代碼示例>>Java>>正文


Java IssueNavigationConfiguration類代碼示例

本文整理匯總了Java中com.intellij.openapi.vcs.IssueNavigationConfiguration的典型用法代碼示例。如果您正苦於以下問題:Java IssueNavigationConfiguration類的具體用法?Java IssueNavigationConfiguration怎麽用?Java IssueNavigationConfiguration使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


IssueNavigationConfiguration類屬於com.intellij.openapi.vcs包,在下文中一共展示了IssueNavigationConfiguration類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testIssueLinksInJavaDoc

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
public void testIssueLinksInJavaDoc() {
  IssueNavigationConfiguration navigationConfiguration = IssueNavigationConfiguration.getInstance(getProject());
  List<IssueNavigationLink> oldLinks = navigationConfiguration.getLinks();
  try {
    IssueNavigationLink link = new IssueNavigationLink("ABC-\\d+", "http://example.com/$0");
    navigationConfiguration.setLinks(ContainerUtil.<IssueNavigationLink>newArrayList(link));
    configureByFile(BASE_PATH + "/" + getTestName(false) + ".java");
    List<String> expected = ContainerUtil.newArrayList("http://example.com/ABC-1123", "http://example.com/ABC-2", 
                                                       "http://example.com/ABC-22", "http://example.com/ABC-11");
    List<String> actual = collectWebReferences().stream().map(WebReference::getUrl).collect(Collectors.toList());
    assertEquals(expected, actual);
  }
  finally {
    navigationConfiguration.setLinks(oldLinks);
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:17,代碼來源:JavadocHighlightingTest.java

示例2: formatTextWithLinks

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
@SuppressWarnings({"HardCodedStringLiteral"})
public static String formatTextWithLinks(final Project project, final String c, final Convertor<String, String> convertor) {
  if (c == null) return "";
  String comment = XmlTagUtilBase.escapeString(c, false);

  StringBuilder commentBuilder = new StringBuilder();
  IssueNavigationConfiguration config = IssueNavigationConfiguration.getInstance(project);
  final List<IssueNavigationConfiguration.LinkMatch> list = config.findIssueLinks(comment);
  int pos = 0;
  for(IssueNavigationConfiguration.LinkMatch match: list) {
    TextRange range = match.getRange();
    commentBuilder.append(convertor.convert(comment.substring(pos, range.getStartOffset()))).append("<a href=\"").append(match.getTargetUrl()).append("\">");
    commentBuilder.append(range.substring(comment)).append("</a>");
    pos = range.getEndOffset();
  }
  commentBuilder.append(convertor.convert(comment.substring(pos)));
  comment = commentBuilder.toString();

  return comment.replace("\n", "<br>");
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:21,代碼來源:IssueLinkHtmlRenderer.java

示例3: compute

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
@Override
protected CachedValue<PsiReference[]> compute(final PsiElement element, Object p) {
  return CachedValuesManager.getManager(element.getProject()).createCachedValue(new CachedValueProvider<PsiReference[]>() {
    public Result<PsiReference[]> compute() {
      IssueNavigationConfiguration navigationConfiguration = IssueNavigationConfiguration.getInstance(element.getProject());
      if (navigationConfiguration == null) {
        return Result.create(PsiReference.EMPTY_ARRAY, element);
      }
      
      List<PsiReference> refs = null;
      GlobalPathReferenceProvider provider = myReferenceProvider.get();
      CharSequence commentText = StringUtil.newBombedCharSequence(element.getText(), 500);
      for (IssueNavigationConfiguration.LinkMatch link : navigationConfiguration.findIssueLinks(commentText)) {
        if (refs == null) refs = new SmartList<PsiReference>();
        if (provider == null) {
          provider = (GlobalPathReferenceProvider)PathReferenceManager.getInstance().getGlobalWebPathReferenceProvider();
          myReferenceProvider.lazySet(provider);
        }
        provider.createUrlReference(element, link.getTargetUrl(), link.getRange(), refs);
      }
      PsiReference[] references = refs != null ? refs.toArray(new PsiReference[refs.size()]) : PsiReference.EMPTY_ARRAY;
      return new Result<PsiReference[]>(references, element, navigationConfiguration);
    }
  }, false);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:26,代碼來源:ArbitraryPlaceUrlReferenceProvider.java

示例4: compute

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
@Override
protected CachedValue<PsiReference[]> compute(final PsiElement element, Object p) {
  return CachedValuesManager.getManager(element.getProject()).createCachedValue(() -> {
    IssueNavigationConfiguration navigationConfiguration = IssueNavigationConfiguration.getInstance(element.getProject());
    if (navigationConfiguration == null) {
      return CachedValueProvider.Result.create(PsiReference.EMPTY_ARRAY, element);
    }

    List<PsiReference> refs = null;
    GlobalPathReferenceProvider provider = myReferenceProvider.get();
    CharSequence commentText = StringUtil.newBombedCharSequence(element.getText(), 500);
    for (IssueNavigationConfiguration.LinkMatch link : navigationConfiguration.findIssueLinks(commentText)) {
      if (refs == null) refs = new SmartList<>();
      if (provider == null) {
        provider = (GlobalPathReferenceProvider)PathReferenceManager.getInstance().getGlobalWebPathReferenceProvider();
        myReferenceProvider.lazySet(provider);
      }
      provider.createUrlReference(element, link.getTargetUrl(), link.getRange(), refs);
    }
    PsiReference[] references = refs != null ? refs.toArray(new PsiReference[refs.size()]) : PsiReference.EMPTY_ARRAY;
    return new CachedValueProvider.Result<>(references, element, navigationConfiguration);
  }, false);
}
 
開發者ID:consulo,項目名稱:consulo,代碼行數:24,代碼來源:ArbitraryPlaceUrlReferenceProvider.java

示例5: reset

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
public void reset() {
  IssueNavigationConfiguration configuration = IssueNavigationConfiguration.getInstance(myProject);
  myLinks = new ArrayList<IssueNavigationLink>();
  for(IssueNavigationLink link: configuration.getLinks()) {
    myLinks.add(new IssueNavigationLink(link.getIssueRegexp(), link.getLinkRegexp()));
  }
  myModel = new ListTableModel<IssueNavigationLink>(
    new ColumnInfo[] { ISSUE_COLUMN, LINK_COLUMN },
    myLinks,
    0);
  myLinkTable.setModel(myModel);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:13,代碼來源:IssueNavigationConfigurationPanel.java

示例6: IssueLinkRenderer

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
public IssueLinkRenderer(final Project project, final SimpleColoredComponent coloredComponent) {
  myColoredComponent = coloredComponent;
  myIssueNavigationConfiguration = IssueNavigationConfiguration.getInstance(project);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:5,代碼來源:IssueLinkRenderer.java

示例7: append

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
private void append(final String piece, final SimpleTextAttributes baseStyle, final IssueNavigationConfiguration.LinkMatch match) {
  myColoredComponent.append(piece, baseStyle, new SimpleColoredComponent.BrowserLauncherTag(match.getTargetUrl()));
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:4,代碼來源:IssueLinkRenderer.java

示例8: apply

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
public void apply() {
  IssueNavigationConfiguration configuration = IssueNavigationConfiguration.getInstance(myProject);
  configuration.setLinks(myLinks);
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:5,代碼來源:IssueNavigationConfigurationPanel.java

示例9: isModified

import com.intellij.openapi.vcs.IssueNavigationConfiguration; //導入依賴的package包/類
public boolean isModified() {
  IssueNavigationConfiguration configuration = IssueNavigationConfiguration.getInstance(myProject);
  return !myLinks.equals(configuration.getLinks());
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:5,代碼來源:IssueNavigationConfigurationPanel.java


注:本文中的com.intellij.openapi.vcs.IssueNavigationConfiguration類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。