feat(JavaLangDoc): 2.14 java enum doc for Yes(1, "Yes") | java 枚举注释

This commit is contained in:
林万程
2024-01-12 21:45:20 +08:00
parent eaa8540266
commit d83ace24ab
9 changed files with 92 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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("-"));
}
}