feat(JavaLangDoc): 2.14 java enum doc for Yes(1, "Yes") | java 枚举注释
This commit is contained in:
@@ -8,6 +8,7 @@ import com.intellij.psi.javadoc.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import io.github.linwancen.plugin.show.bean.LineInfo;
|
||||
import io.github.linwancen.plugin.show.bean.SettingsInfo;
|
||||
import io.github.linwancen.plugin.show.java.doc.EnumDoc;
|
||||
import io.github.linwancen.plugin.show.java.doc.OwnerToPsiDocUtils;
|
||||
import io.github.linwancen.plugin.show.java.doc.PsiMethodToPsiDoc;
|
||||
import io.github.linwancen.plugin.show.java.line.OwnerToPsiDocSkip;
|
||||
@@ -84,6 +85,9 @@ public class JavaLangDoc extends BaseTagLangDoc<PsiDocComment> {
|
||||
if (info.appSettings.fromParam && resolve instanceof PsiParameter) {
|
||||
return paramDoc((PsiParameter) resolve);
|
||||
}
|
||||
if (info.appSettings.enumDoc && resolve instanceof PsiEnumConstant) {
|
||||
return EnumDoc.enumDoc((PsiEnumConstant) resolve);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package io.github.linwancen.plugin.show.java.doc;
|
||||
|
||||
import com.intellij.psi.PsiEnumConstant;
|
||||
import com.intellij.psi.PsiExpression;
|
||||
import com.intellij.psi.PsiExpressionList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class EnumDoc {
|
||||
|
||||
/**
|
||||
* Yes(1, "Yes") show 1-Yes
|
||||
*/
|
||||
@Nullable
|
||||
public static String enumDoc(@NotNull PsiEnumConstant psiEnumConstant) {
|
||||
@Nullable PsiExpressionList args = psiEnumConstant.getArgumentList();
|
||||
if (args == null) {
|
||||
return null;
|
||||
}
|
||||
@NotNull PsiExpression[] exps = args.getExpressions();
|
||||
if (exps.length == 0) {
|
||||
return null;
|
||||
}
|
||||
return Arrays.stream(exps)
|
||||
.map(exp -> exp.getText().replace("\"", ""))
|
||||
.collect(Collectors.joining("-"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user