mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
move stripUIRefsFromInspectionDescription
This commit is contained in:
+3
-3
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2014 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -24,7 +24,7 @@ import com.intellij.codeInsight.daemon.impl.actions.ShowErrorDescriptionAction;
|
||||
import com.intellij.codeInsight.hint.LineTooltipRenderer;
|
||||
import com.intellij.codeInsight.hint.TooltipLinkHandlerEP;
|
||||
import com.intellij.codeInsight.hint.TooltipRenderer;
|
||||
import com.intellij.codeInspection.ui.DefaultInspectionToolPresentation;
|
||||
import com.intellij.codeInspection.ui.InspectionNodeInfo;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.ex.ErrorStripTooltipRendererProvider;
|
||||
import com.intellij.openapi.editor.impl.TrafficTooltipRenderer;
|
||||
@@ -141,7 +141,7 @@ public class DaemonTooltipRendererProvider implements ErrorStripTooltipRendererP
|
||||
if (ref != null) {
|
||||
String description = TooltipLinkHandlerEP.getDescription(ref, editor);
|
||||
if (description != null) {
|
||||
description = DefaultInspectionToolPresentation.stripUIRefsFromInspectionDescription(UIUtil.getHtmlBody(new Html(description).setKeepFont(true)));
|
||||
description = InspectionNodeInfo.stripUIRefsFromInspectionDescription(UIUtil.getHtmlBody(new Html(description).setKeepFont(true)));
|
||||
text += UIUtil.getHtmlBody(new Html(problem).setKeepFont(true)).replace(DaemonBundle.message("inspection.extended.description"),
|
||||
DaemonBundle.message("inspection.collapse.description")) +
|
||||
END_MARKER + "<p>" + description + UIUtil.BORDER_LINE;
|
||||
|
||||
-17
@@ -81,23 +81,6 @@ public class DefaultInspectionToolPresentation implements ProblemDescriptionsPro
|
||||
myContext = context;
|
||||
}
|
||||
|
||||
public static String stripUIRefsFromInspectionDescription(@NotNull String description) {
|
||||
final int descriptionEnd = description.indexOf("<!-- tooltip end -->");
|
||||
if (descriptionEnd < 0) {
|
||||
final Pattern pattern = Pattern.compile(".*Use.*(the (panel|checkbox|checkboxes|field|button|controls).*below).*", Pattern.DOTALL);
|
||||
final Matcher matcher = pattern.matcher(description);
|
||||
int startFindIdx = 0;
|
||||
while (matcher.find(startFindIdx)) {
|
||||
final int end = matcher.end(1);
|
||||
startFindIdx = end;
|
||||
description = description.substring(0, matcher.start(1)) + " inspection settings " + description.substring(end);
|
||||
}
|
||||
} else {
|
||||
description = description.substring(0, descriptionEnd);
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HighlightSeverity getSeverity(@NotNull RefElement element) {
|
||||
final PsiElement psiElement = element.getPointer().getContainingFile();
|
||||
|
||||
@@ -40,6 +40,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* @author Dmitry Batkovich
|
||||
@@ -82,7 +84,7 @@ public class InspectionNodeInfo extends JPanel {
|
||||
String descriptionText = toolWrapper.loadDescription();
|
||||
LOG.assertTrue(descriptionText != null, "Inspection '" + toolWrapper.getShortName() + "' has no description");
|
||||
final String toolDescription =
|
||||
DefaultInspectionToolPresentation.stripUIRefsFromInspectionDescription(StringUtil.notNullize(descriptionText));
|
||||
stripUIRefsFromInspectionDescription(StringUtil.notNullize(descriptionText));
|
||||
SingleInspectionProfilePanel.readHTML(description, SingleInspectionProfilePanel.toHTML(description, toolDescription == null ? "" : toolDescription, false));
|
||||
JScrollPane pane = ScrollPaneFactory.createScrollPane(description, true);
|
||||
int maxWidth = getFontMetrics(UIUtil.getLabelFont()).charWidth('f') * 110 - pane.getMinimumSize().width;
|
||||
@@ -122,4 +124,21 @@ public class InspectionNodeInfo extends JPanel {
|
||||
new JBInsets(15, 9, 9, 0), 0, 0));
|
||||
|
||||
}
|
||||
|
||||
public static String stripUIRefsFromInspectionDescription(@NotNull String description) {
|
||||
final int descriptionEnd = description.indexOf("<!-- tooltip end -->");
|
||||
if (descriptionEnd < 0) {
|
||||
final Pattern pattern = Pattern.compile(".*Use.*(the (panel|checkbox|checkboxes|field|button|controls).*below).*", Pattern.DOTALL);
|
||||
final Matcher matcher = pattern.matcher(description);
|
||||
int startFindIdx = 0;
|
||||
while (matcher.find(startFindIdx)) {
|
||||
final int end = matcher.end(1);
|
||||
startFindIdx = end;
|
||||
description = description.substring(0, matcher.start(1)) + " inspection settings " + description.substring(end);
|
||||
}
|
||||
} else {
|
||||
description = description.substring(0, descriptionEnd);
|
||||
}
|
||||
return description;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user