本文整理汇总了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);
}
}
示例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>");
}
示例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);
}
示例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);
}
示例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);
}
示例6: IssueLinkRenderer
import com.intellij.openapi.vcs.IssueNavigationConfiguration; //导入依赖的package包/类
public IssueLinkRenderer(final Project project, final SimpleColoredComponent coloredComponent) {
myColoredComponent = coloredComponent;
myIssueNavigationConfiguration = IssueNavigationConfiguration.getInstance(project);
}
示例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()));
}
示例8: apply
import com.intellij.openapi.vcs.IssueNavigationConfiguration; //导入依赖的package包/类
public void apply() {
IssueNavigationConfiguration configuration = IssueNavigationConfiguration.getInstance(myProject);
configuration.setLinks(myLinks);
}
示例9: isModified
import com.intellij.openapi.vcs.IssueNavigationConfiguration; //导入依赖的package包/类
public boolean isModified() {
IssueNavigationConfiguration configuration = IssueNavigationConfiguration.getInstance(myProject);
return !myLinks.equals(configuration.getLinks());
}