From ed33a94fcc5eb0eb56438d9c133c2bec2d78e79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Wed, 20 Dec 2023 18:26:49 +0800 Subject: [PATCH] easy debug info.lineNumber: replace lineInfo/settingInfo/fileInfo to info --- .../plugin/show/java/JavaLangDoc.java | 42 +++++++------- .../linwancen/plugin/show/java/JavaTree.java | 12 ++-- .../plugin/show/java/KotlinLangDoc.java | 18 +++--- .../show/java/line/NewCallRefToPsiDoc.java | 4 +- .../show/java/line/OwnerToPsiDocSkip.java | 6 +- .../plugin/show/java/line/SkipUtils.java | 18 +++--- .../github/linwancen/plugin/show/LineEnd.java | 32 +++++----- .../linwancen/plugin/show/LineEndAdd.java | 10 ++-- .../linwancen/plugin/show/LineEndCopy.java | 14 ++--- .../io/github/linwancen/plugin/show/Tree.java | 8 +-- .../linwancen/plugin/show/bean/LineInfo.java | 22 +++---- .../plugin/show/bean/package-info.java | 4 ++ .../linwancen/plugin/show/ext/LineExt.java | 20 +++---- .../linwancen/plugin/show/lang/GoLangDoc.java | 6 +- .../linwancen/plugin/show/lang/JsLangDoc.java | 10 ++-- .../plugin/show/lang/JsonLangDoc.java | 30 +++++----- .../plugin/show/lang/PythonLangDoc.java | 18 +++--- .../plugin/show/lang/SqlLangDoc.java | 8 +-- .../plugin/show/lang/base/BaseLangDoc.java | 58 +++++++++---------- .../plugin/show/lang/base/BaseTagLangDoc.java | 28 ++++----- .../plugin/show/lang/base/DocSkip.java | 24 ++++---- .../linwancen/plugin/show/lang/base/Prev.java | 8 +-- .../plugin/show/lang/base/ResolveDoc.java | 10 ++-- .../plugin/show/tree/RelFileDoc.java | 6 +- .../linwancen/plugin/show/lang/CsLineEnd.java | 2 +- 25 files changed, 211 insertions(+), 207 deletions(-) create mode 100644 src/main/java/io/github/linwancen/plugin/show/bean/package-info.java diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java b/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java index d4ea9a3..3214ac4 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/JavaLangDoc.java @@ -30,18 +30,18 @@ public class JavaLangDoc extends BaseTagLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentJava; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentJava; } @Override - public @Nullable String treeDoc(@NotNull T settingsInfo, ProjectViewNode node, + public @Nullable String treeDoc(@NotNull T info, ProjectViewNode node, @NotNull Project project) { - return JavaTree.treeDoc(settingsInfo, node, project); + return JavaTree.treeDoc(info, node, project); } @Override - protected @Nullable String refDoc(@NotNull LineInfo lineInfo, @NotNull PsiElement ref) { + protected @Nullable String refDoc(@NotNull LineInfo info, @NotNull PsiElement ref) { if ("Override".equals(ref.getText())) { @Nullable PsiMethod psiMethod = PsiTreeUtil.getParentOfType(ref, PsiMethod.class); if (psiMethod == null) { @@ -49,47 +49,47 @@ public class JavaLangDoc extends BaseTagLangDoc { } // must supper @Nullable PsiDocComment psiDocComment = OwnerToPsiDocUtils.supperMethodDoc(psiMethod); - return docElementToStr(lineInfo, psiDocComment); + return docElementToStr(info, psiDocComment); } - if (lineInfo.appSettings.fromNew) { + if (info.appSettings.fromNew) { PsiElement parent = ref.getParent(); if (parent instanceof PsiNewExpression) { @NotNull PsiNewExpression psiNewExpression = (PsiNewExpression) parent; try { @Nullable PsiMethod resolve = psiNewExpression.resolveMethod(); if (resolve != null) { - return resolveDocPrint(lineInfo, resolve); + return resolveDocPrint(info, resolve); } } catch (Throwable ignore) { // ignore } } } - return super.refDoc(lineInfo, ref); + return super.refDoc(info, ref); } @Override - public @Nullable String resolveDocPrint(@NotNull T settingsInfo, @NotNull PsiElement resolve) { - @Nullable String resolveDocPrint = super.resolveDocPrint(settingsInfo, resolve); + public @Nullable String resolveDocPrint(@NotNull T info, @NotNull PsiElement resolve) { + @Nullable String resolveDocPrint = super.resolveDocPrint(info, resolve); if (resolveDocPrint != null) { return resolveDocPrint; } // no doc comment support get set - if (parseBaseComment(settingsInfo) && resolve instanceof PsiMethod) { + if (parseBaseComment(info) && resolve instanceof PsiMethod) { @Nullable PsiField psiField = PsiMethodToPsiDoc.propMethodField((PsiMethod) resolve); if (psiField != null) { - return super.resolveDocPrint(settingsInfo, psiField); + return super.resolveDocPrint(info, psiField); } } - if (settingsInfo.appSettings.fromParam && resolve instanceof PsiParameter) { + if (info.appSettings.fromParam && resolve instanceof PsiParameter) { return paramDoc((PsiParameter) resolve); } return null; } @Override - protected boolean parseBaseComment(@NotNull T settingsInfo) { - return settingsInfo.appSettings.showLineEndCommentJavaBase; + protected boolean parseBaseComment(@NotNull T info) { + return info.appSettings.showLineEndCommentJavaBase; } @Nullable @@ -118,18 +118,18 @@ public class JavaLangDoc extends BaseTagLangDoc { @Nullable @Override - protected PsiDocComment toDocElement(@NotNull T settingsInfo, + protected PsiDocComment toDocElement(@NotNull T info, @NotNull PsiElement resolve) { if (resolve instanceof PsiDocCommentOwner) { @NotNull PsiDocCommentOwner psiDocCommentOwner = (PsiDocCommentOwner) resolve; - return OwnerToPsiDocSkip.refDoc(settingsInfo, psiDocCommentOwner); + return OwnerToPsiDocSkip.refDoc(info, psiDocCommentOwner); } return null; } @NotNull @Override - protected String descDoc(@NotNull T lineInfo, @NotNull PsiDocComment psiDocComment) { + protected String descDoc(@NotNull T info, @NotNull PsiDocComment psiDocComment) { @NotNull StringBuilder sb = new StringBuilder(); int lineCount = 0; @NotNull PsiElement[] elements = psiDocComment.getDescriptionElements(); @@ -137,7 +137,7 @@ public class JavaLangDoc extends BaseTagLangDoc { if (appendElementText(sb, element)) { lineCount++; } - if (DocFilter.lineCountOrLenOver(lineInfo, sb, lineCount)) { + if (DocFilter.lineCountOrLenOver(info, sb, lineCount)) { break; } } @@ -163,7 +163,7 @@ public class JavaLangDoc extends BaseTagLangDoc { } @Override - protected void appendTag(@NotNull T lineInfo, @NotNull StringBuilder tagStrBuilder, + protected void appendTag(@NotNull T info, @NotNull StringBuilder tagStrBuilder, @NotNull PsiDocComment psiDocComment, @NotNull String name) { @NotNull PsiDocTag[] tags = psiDocComment.findTagsByName(name); for (@NotNull PsiDocTag tag : tags) { diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/JavaTree.java b/src/main/idea/io/github/linwancen/plugin/show/java/JavaTree.java index a58061b..4a8d830 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/JavaTree.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/JavaTree.java @@ -23,21 +23,21 @@ public class JavaTree { private JavaTree() {} @Nullable - public static String treeDoc(@NotNull T settingsInfo, ProjectViewNode node, + public static String treeDoc(@NotNull T info, ProjectViewNode node, @NotNull Project project) { - @Nullable PsiDocComment docComment = nodeDoc(settingsInfo, node, project); + @Nullable PsiDocComment docComment = nodeDoc(info, node, project); if (docComment == null) { return null; } - @Nullable String s = JavaLangDoc.INSTANCE.docElementToStr(settingsInfo, docComment); - if (s != null && !DocSkip.skipDoc(settingsInfo, s)) { + @Nullable String s = JavaLangDoc.INSTANCE.docElementToStr(info, docComment); + if (s != null && !DocSkip.skipDoc(info, s)) { return s; } return null; } @Nullable - static PsiDocComment nodeDoc(@NotNull T settingsInfo, ProjectViewNode node, + static PsiDocComment nodeDoc(@NotNull T info, ProjectViewNode node, @NotNull Project project) { if (node instanceof PsiFileNode) { PsiFile psiFile = ((PsiFileNode) node).getValue(); @@ -56,7 +56,7 @@ public class JavaTree { if (type instanceof PsiClassReferenceType) { @NotNull PsiClassReferenceType psiClassReferenceType = (PsiClassReferenceType) type; @NotNull PsiJavaCodeReferenceElement reference = psiClassReferenceType.getReference(); - return NewCallRefToPsiDoc.javaCodeDoc(settingsInfo, reference); + return NewCallRefToPsiDoc.javaCodeDoc(info, reference); } } diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/KotlinLangDoc.java b/src/main/idea/io/github/linwancen/plugin/show/java/KotlinLangDoc.java index 7b8e58d..d3ac952 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/KotlinLangDoc.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/KotlinLangDoc.java @@ -29,18 +29,18 @@ public class KotlinLangDoc extends BaseTagLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentKotlin; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentKotlin; } @Override - protected boolean parseBaseComment(@NotNull T settingsInfo) { - return settingsInfo.appSettings.showLineEndCommentKotlinBase; + protected boolean parseBaseComment(@NotNull T info) { + return info.appSettings.showLineEndCommentKotlinBase; } @Override @Nullable - protected KDocSection toDocElement(@NotNull T settingsInfo, @NotNull PsiElement resolve) { + protected KDocSection toDocElement(@NotNull T info, @NotNull PsiElement resolve) { if (resolve instanceof PsiPackageBase) { return null; } @@ -53,18 +53,18 @@ public class KotlinLangDoc extends BaseTagLangDoc { @NotNull @Override - protected String descDoc(@NotNull T lineInfo, @NotNull KDocSection kDocSection) { + protected String descDoc(@NotNull T info, @NotNull KDocSection kDocSection) { @NotNull String content = kDocSection.getContent(); - return DocFilter.cutDoc(content, lineInfo, false); + return DocFilter.cutDoc(content, info, false); } @Override - protected void appendTag(@NotNull T lineInfo, @NotNull StringBuilder tagStrBuilder, + protected void appendTag(@NotNull T info, @NotNull StringBuilder tagStrBuilder, @NotNull KDocSection kDocSection, @NotNull String name) { @NotNull List tags = kDocSection.findTagsByName(name); for (@NotNull KDocTag tag : tags) { @NotNull String content = tag.getContent(); - @NotNull String cutDoc = DocFilter.cutDoc(content, lineInfo, false); + @NotNull String cutDoc = DocFilter.cutDoc(content, info, false); tagStrBuilder.append(cutDoc); } } diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/line/NewCallRefToPsiDoc.java b/src/main/idea/io/github/linwancen/plugin/show/java/line/NewCallRefToPsiDoc.java index 5c4e31b..4dbd771 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/line/NewCallRefToPsiDoc.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/line/NewCallRefToPsiDoc.java @@ -16,7 +16,7 @@ public class NewCallRefToPsiDoc { private NewCallRefToPsiDoc() {} @Nullable - public static PsiDocComment javaCodeDoc(@NotNull T settingsInfo, + public static PsiDocComment javaCodeDoc(@NotNull T info, @Nullable PsiJavaCodeReferenceElement ref) { if (ref == null) { return null; @@ -28,7 +28,7 @@ public class NewCallRefToPsiDoc { // ignore } if (resolve instanceof PsiDocCommentOwner) { - return OwnerToPsiDocSkip.refDoc(settingsInfo, ((PsiDocCommentOwner) resolve)); + return OwnerToPsiDocSkip.refDoc(info, ((PsiDocCommentOwner) resolve)); } return null; } diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/line/OwnerToPsiDocSkip.java b/src/main/idea/io/github/linwancen/plugin/show/java/line/OwnerToPsiDocSkip.java index 9386840..be85115 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/line/OwnerToPsiDocSkip.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/line/OwnerToPsiDocSkip.java @@ -16,17 +16,17 @@ public class OwnerToPsiDocSkip { private OwnerToPsiDocSkip() {} @Nullable - public static PsiDocComment refDoc(@NotNull T settingsInfo, + public static PsiDocComment refDoc(@NotNull T info, @Nullable PsiDocCommentOwner docOwner) { if (docOwner == null) { return null; } - if (SkipUtils.skipSign(settingsInfo, docOwner)) { + if (SkipUtils.skipSign(info, docOwner)) { return null; } @Nullable PsiDocComment docComment = docOwner instanceof PsiMethod ? OwnerToPsiDocUtils.methodDoc(((PsiMethod) docOwner)) : OwnerToPsiDocUtils.srcOrByteCodeDoc(docOwner); - return SkipUtils.skipDoc(settingsInfo, docComment); + return SkipUtils.skipDoc(info, docComment); } } diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/line/SkipUtils.java b/src/main/idea/io/github/linwancen/plugin/show/java/line/SkipUtils.java index ccf1981..5f57f2f 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/line/SkipUtils.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/line/SkipUtils.java @@ -15,20 +15,20 @@ class SkipUtils { private SkipUtils() {} - static boolean skipSign(@NotNull T settingsInfo, PsiElement psiElement) { - @Nullable String text = psiName(settingsInfo, psiElement); + static boolean skipSign(@NotNull T info, PsiElement psiElement) { + @Nullable String text = psiName(info, psiElement); if (text == null) { return true; } - return DocSkip.skipSign(settingsInfo, text); + return DocSkip.skipSign(info, text); } @Nullable - private static String psiName(@NotNull T settingsInfo, @Nullable PsiElement psiElement) { + private static String psiName(@NotNull T info, @Nullable PsiElement psiElement) { if (psiElement instanceof PsiClass) { @NotNull PsiClass psiClass = (PsiClass) psiElement; - if (settingsInfo.funcEnum == FuncEnum.LINE - && settingsInfo.appSettings.skipAnnotation && psiClass.isAnnotationType()) { + if (info.funcEnum == FuncEnum.LINE + && info.appSettings.skipAnnotation && psiClass.isAnnotationType()) { return null; } return psiClass.getQualifiedName(); @@ -53,15 +53,15 @@ class SkipUtils { } @Nullable - static PsiDocComment skipDoc(@NotNull T settingsInfo, @Nullable PsiDocComment doc) { + static PsiDocComment skipDoc(@NotNull T info, @Nullable PsiDocComment doc) { if (doc == null) { return null; } - if (settingsInfo.appSettings.skipBlank && isBlank(doc)) { + if (info.appSettings.skipBlank && isBlank(doc)) { return null; } String text = doc.getText(); - boolean skip = DocSkip.skipDoc(settingsInfo, text); + boolean skip = DocSkip.skipDoc(info, text); return skip ? null : doc; } diff --git a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java index a583b08..d6c1cd8 100644 --- a/src/main/java/io/github/linwancen/plugin/show/LineEnd.java +++ b/src/main/java/io/github/linwancen/plugin/show/LineEnd.java @@ -69,8 +69,8 @@ public class LineEnd extends EditorLinePainter { if (!file.exists()) { return null; } - @Nullable LineInfo lineInfo = LineInfo.of(file, project, lineNumber); - @Nullable String doc = lineDocSkipHave(lineInfo); + @Nullable LineInfo info = LineInfo.of(file, project, lineNumber); + @Nullable String doc = lineDocSkipHave(info); if (doc == null) { return null; } @@ -78,8 +78,8 @@ public class LineEnd extends EditorLinePainter { || file.getFileType().equals(Json5FileType.INSTANCE) ? settings.lineEndJsonTextAttr : settings.lineEndTextAttr; - @NotNull LineExtensionInfo info = new LineExtensionInfo(settings.lineEndPrefix + doc, textAttr); - return Collections.singletonList(info); + @NotNull LineExtensionInfo lineExt = new LineExtensionInfo(settings.lineEndPrefix + doc, textAttr); + return Collections.singletonList(lineExt); } public static void textWithDoc(@NotNull FileInfo fileInfo, int startLine, int endLine, @@ -88,15 +88,15 @@ public class LineEnd extends EditorLinePainter { int size = endLine - startLine; @NotNull StringBuilder sb = new StringBuilder(); for (int i = startLine; i <= endLine; i++) { - @Nullable LineInfo lineInfo = LineInfo.of(fileInfo, i); - if (lineInfo == null) { + @Nullable LineInfo info = LineInfo.of(fileInfo, i); + if (info == null) { sb.append("\n"); continue; } - sb.append(lineInfo.text); - @Nullable String doc = lineDocSkipHave(lineInfo); + sb.append(info.text); + @Nullable String doc = lineDocSkipHave(info); if (doc != null) { - sb.append(lineInfo.appSettings.lineEndPrefix).append(doc); + sb.append(info.appSettings.lineEndPrefix).append(doc); } sb.append("\n"); indicator.setText2(i + " / " + size + " line"); @@ -110,27 +110,27 @@ public class LineEnd extends EditorLinePainter { func.accept(sb.toString()); } - private static @Nullable String lineDocSkipHave(@Nullable LineInfo lineInfo) { - @Nullable String doc = lineDoc(lineInfo); + private static @Nullable String lineDocSkipHave(@Nullable LineInfo info) { + @Nullable String doc = lineDoc(info); if (doc == null) { return null; } @NotNull String trimDoc = doc.trim(); - if (lineInfo.text.trim().endsWith(trimDoc)) { + if (info.text.trim().endsWith(trimDoc)) { return null; } return trimDoc; } - private static @Nullable String lineDoc(@Nullable LineInfo lineInfo) { - if (lineInfo == null) { + private static @Nullable String lineDoc(@Nullable LineInfo info) { + if (info == null) { return null; } // override some text - @Nullable String doc = LineExt.doc(lineInfo); + @Nullable String doc = LineExt.doc(info); if (doc != null) { return doc; } - return BaseLangDoc.langDoc(lineInfo); + return BaseLangDoc.langDoc(info); } } diff --git a/src/main/java/io/github/linwancen/plugin/show/LineEndAdd.java b/src/main/java/io/github/linwancen/plugin/show/LineEndAdd.java index b9e32bd..a2036c2 100644 --- a/src/main/java/io/github/linwancen/plugin/show/LineEndAdd.java +++ b/src/main/java/io/github/linwancen/plugin/show/LineEndAdd.java @@ -91,14 +91,14 @@ public class LineEndAdd extends DumbAwareAction { } private void addDoc(@NotNull Project project, @NotNull VirtualFile file, @NotNull ProgressIndicator indicator) { - @Nullable FileInfo fileInfo = FileInfo.of(file, project); - if (fileInfo == null) { + @Nullable FileInfo info = FileInfo.of(file, project); + if (info == null) { return; } int startLine = 0; - int endLine = fileInfo.document.getLineCount() - 1; - LineEnd.textWithDoc(fileInfo, startLine, endLine, indicator, s -> - fileInfo.document.replaceString(0, fileInfo.document.getTextLength() - 1, s) + int endLine = info.document.getLineCount() - 1; + LineEnd.textWithDoc(info, startLine, endLine, indicator, s -> + info.document.replaceString(0, info.document.getTextLength() - 1, s) ); } } \ No newline at end of file diff --git a/src/main/java/io/github/linwancen/plugin/show/LineEndCopy.java b/src/main/java/io/github/linwancen/plugin/show/LineEndCopy.java index d12d195..e97d459 100644 --- a/src/main/java/io/github/linwancen/plugin/show/LineEndCopy.java +++ b/src/main/java/io/github/linwancen/plugin/show/LineEndCopy.java @@ -45,16 +45,16 @@ public class LineEndCopy extends DumbAwareAction { if (project == null) { return; } - @Nullable FileInfo fileInfo = FileInfo.of(event); - if (fileInfo == null) { + @Nullable FileInfo info = FileInfo.of(event); + if (info == null) { return; } - new Task.Backgroundable(project, "Show LineEndCopy " + fileInfo.file.getName()) { + new Task.Backgroundable(project, "Show LineEndCopy " + info.file.getName()) { @Override public void run(@NotNull ProgressIndicator indicator) { ApplicationManager.getApplication().runReadAction(() -> { int startLine = 0; - int endLine = fileInfo.document.getLineCount() - 1; + int endLine = info.document.getLineCount() - 1; // if select @Nullable Editor editor = event.getData(CommonDataKeys.EDITOR); if (editor != null) { @@ -62,13 +62,13 @@ public class LineEndCopy extends DumbAwareAction { int start = primaryCaret.getSelectionStart(); int end = primaryCaret.getSelectionEnd(); try { - startLine = fileInfo.document.getLineNumber(start); - endLine = fileInfo.document.getLineNumber(end); + startLine = info.document.getLineNumber(start); + endLine = info.document.getLineNumber(end); } catch (Exception e) { return; } } - LineEnd.textWithDoc(fileInfo, startLine, endLine, indicator, s -> { + LineEnd.textWithDoc(info, startLine, endLine, indicator, s -> { @NotNull StringSelection content = new StringSelection(s); CopyPasteManager.getInstance().setContents(content); }); diff --git a/src/main/java/io/github/linwancen/plugin/show/Tree.java b/src/main/java/io/github/linwancen/plugin/show/Tree.java index 5901bfa..0cd9033 100644 --- a/src/main/java/io/github/linwancen/plugin/show/Tree.java +++ b/src/main/java/io/github/linwancen/plugin/show/Tree.java @@ -73,22 +73,22 @@ public class Tree implements ProjectViewNodeDecorator { if (doc != null) { return doc; } - @NotNull SettingsInfo settingsInfo = SettingsInfo.of(project, FuncEnum.TREE); - @Nullable String relFileDoc = RelFileDoc.relFileDoc(node, settingsInfo); + @NotNull SettingsInfo info = SettingsInfo.of(project, FuncEnum.TREE); + @Nullable String relFileDoc = RelFileDoc.relFileDoc(node, info); if (relFileDoc != null) { return relFileDoc; } Object value = node.getValue(); if (value instanceof PsiElement) { @NotNull PsiElement psiElement = (PsiElement) value; - @Nullable String docPrint = BaseLangDoc.resolveDoc(settingsInfo, psiElement); + @Nullable String docPrint = BaseLangDoc.resolveDoc(info, psiElement); if (docPrint != null) { return docPrint; } } @NotNull Collection langDocs = BaseLangDoc.LANG_DOC_MAP.values(); for (@NotNull BaseLangDoc langDoc : langDocs) { - @Nullable String s = langDoc.treeDoc(settingsInfo, node, project); + @Nullable String s = langDoc.treeDoc(info, node, project); if (s != null) { return s; } diff --git a/src/main/java/io/github/linwancen/plugin/show/bean/LineInfo.java b/src/main/java/io/github/linwancen/plugin/show/bean/LineInfo.java index 9dba4d9..3090f79 100644 --- a/src/main/java/io/github/linwancen/plugin/show/bean/LineInfo.java +++ b/src/main/java/io/github/linwancen/plugin/show/bean/LineInfo.java @@ -12,9 +12,9 @@ public class LineInfo extends FileInfo { public final int endOffset; public final @NotNull String text; - protected LineInfo(@NotNull FileInfo fileInfo, @NotNull String text, + protected LineInfo(@NotNull FileInfo info, @NotNull String text, int lineNumber, int startOffset, int endOffset) { - super(fileInfo.file, fileInfo.document, fileInfo.project, fileInfo.viewProvider, FuncEnum.LINE); + super(info.file, info.document, info.project, info.viewProvider, FuncEnum.LINE); this.lineNumber = lineNumber; this.startOffset = startOffset; this.endOffset = endOffset; @@ -22,26 +22,26 @@ public class LineInfo extends FileInfo { } public static @Nullable LineInfo of(@NotNull VirtualFile file, @NotNull Project project, int lineNumber) { - @Nullable FileInfo fileInfo = of(file, project); - if (fileInfo == null) { + @Nullable FileInfo info = of(file, project); + if (info == null) { return null; } - return of(fileInfo, lineNumber); + return of(info, lineNumber); } - public static @Nullable LineInfo of(@NotNull FileInfo fileInfo, int lineNumber) { + public static @Nullable LineInfo of(@NotNull FileInfo info, int lineNumber) { // lineNumber start 0, as 1 <= 1 should return - if (fileInfo.document.getLineCount() <= lineNumber) { + if (info.document.getLineCount() <= lineNumber) { return null; } try { - int startOffset = fileInfo.document.getLineStartOffset(lineNumber); - int endOffset = fileInfo.document.getLineEndOffset(lineNumber); + int startOffset = info.document.getLineStartOffset(lineNumber); + int endOffset = info.document.getLineEndOffset(lineNumber); if (startOffset == endOffset) { return null; } - @NotNull String text = fileInfo.document.getText(new TextRange(startOffset, endOffset)); - return new LineInfo(fileInfo, text, lineNumber, startOffset, endOffset); + @NotNull String text = info.document.getText(new TextRange(startOffset, endOffset)); + return new LineInfo(info, text, lineNumber, startOffset, endOffset); } catch (Exception e) { return null; } diff --git a/src/main/java/io/github/linwancen/plugin/show/bean/package-info.java b/src/main/java/io/github/linwancen/plugin/show/bean/package-info.java new file mode 100644 index 0000000..5b38259 --- /dev/null +++ b/src/main/java/io/github/linwancen/plugin/show/bean/package-info.java @@ -0,0 +1,4 @@ +/** + * LineInfo > FileInfo > SettingsInfo + */ +package io.github.linwancen.plugin.show.bean; \ No newline at end of file diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/LineExt.java b/src/main/java/io/github/linwancen/plugin/show/ext/LineExt.java index 23923fc..6c6cd7e 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/LineExt.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/LineExt.java @@ -14,30 +14,30 @@ public class LineExt { private LineExt() {} - public static @Nullable String doc(@NotNull LineInfo lineInfo) { - int i = lineInfo.text.indexOf(lineInfo.appSettings.lineEndPrefix); - @NotNull String code = i <= 0 ? lineInfo.text : lineInfo.text.substring(0, i); - @Nullable String extDoc = LineExt.extDoc(lineInfo, code); + public static @Nullable String doc(@NotNull LineInfo info) { + int i = info.text.indexOf(info.appSettings.lineEndPrefix); + @NotNull String code = i <= 0 ? info.text : info.text.substring(0, i); + @Nullable String extDoc = LineExt.extDoc(info, code); if (extDoc == null) { return null; } extDoc = extDoc.trim(); - if (lineInfo.text.endsWith(extDoc)) { + if (info.text.endsWith(extDoc)) { return null; } return extDoc; } @Nullable - public static String extDoc(@NotNull LineInfo lineInfo, @NotNull String code) { - @NotNull String path = lineInfo.file.getPath(); - @NotNull String name = lineInfo.file.getName(); - @Nullable String ext = lineInfo.file.getExtension(); + public static String extDoc(@NotNull LineInfo info, @NotNull String code) { + @NotNull String path = info.file.getPath(); + @NotNull String name = info.file.getName(); + @Nullable String ext = info.file.getExtension(); @NotNull Map>> keyMap = ConfCache.keyMap(path, name, ext); if (keyMap.isEmpty()) { return null; } - @Nullable Pattern pattern = ConfCache.pattern(lineInfo.project, keyMap, path); + @Nullable Pattern pattern = ConfCache.pattern(info.project, keyMap, path); if (pattern == null || pattern.pattern().isEmpty()) { return null; } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/GoLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/GoLangDoc.java index 9451b49..abb6319 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/GoLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/GoLangDoc.java @@ -25,12 +25,12 @@ public class GoLangDoc extends BaseLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentGo; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentGo; } @Override - public @Nullable String resolveDocRaw(@NotNull T lineInfo, @NotNull PsiElement resolve) { + public @Nullable String resolveDocRaw(@NotNull T info, @NotNull PsiElement resolve) { @NotNull List comments = GoDocumentationProvider.getCommentsForElement(resolve); return GoDocumentationProvider.getCommentText(comments, false); } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/JsLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/JsLangDoc.java index 3d70ff7..32b4e01 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/JsLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/JsLangDoc.java @@ -23,12 +23,12 @@ public class JsLangDoc extends BaseLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentJs; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentJs; } @Override - public @Nullable String resolveDocRaw(@NotNull T lineInfo, @NotNull PsiElement resolve) { + public @Nullable String resolveDocRaw(@NotNull T info, @NotNull PsiElement resolve) { @Nullable PsiComment psiComment = JSDocumentationUtils.findOwnDocCommentForImplicitElement(resolve); if (psiComment == null) { return null; @@ -37,8 +37,8 @@ public class JsLangDoc extends BaseLangDoc { if (text != null) { return text; } - if (lineInfo.appSettings.showLineEndCommentJsBase) { - return super.resolveDocRaw(lineInfo, resolve); + if (info.appSettings.showLineEndCommentJsBase) { + return super.resolveDocRaw(info, resolve); } return null; } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/JsonLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/JsonLangDoc.java index 6a8f5aa..d6ac2a6 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/JsonLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/JsonLangDoc.java @@ -34,13 +34,13 @@ public class JsonLangDoc extends BaseLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentJson; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentJson; } @Override - public @Nullable String findRefDoc(@NotNull LineInfo lineInfo, @NotNull PsiElement element) { - @Nullable PsiElement start = lineInfo.viewProvider.findElementAt(lineInfo.startOffset); + public @Nullable String findRefDoc(@NotNull LineInfo info, @NotNull PsiElement element) { + @Nullable PsiElement start = info.viewProvider.findElementAt(info.startOffset); if (start == null) { return null; } @@ -48,16 +48,16 @@ public class JsonLangDoc extends BaseLangDoc { if (jsonProperty == null) { return null; } - return refElementDoc(lineInfo, jsonProperty); + return refElementDoc(info, jsonProperty); } @Override - protected @Nullable String refDoc(@NotNull LineInfo lineInfo, @NotNull PsiElement ref) { + protected @Nullable String refDoc(@NotNull LineInfo info, @NotNull PsiElement ref) { if (!(ref instanceof JsonProperty)) { return null; } @NotNull JsonProperty jsonProperty = (JsonProperty) ref; - @Nullable String extDoc = extDoc(lineInfo, jsonProperty); + @Nullable String extDoc = extDoc(info, jsonProperty); if (extDoc != null) { return extDoc; } @@ -72,7 +72,7 @@ public class JsonLangDoc extends BaseLangDoc { if (resolve == null) { continue; } - @Nullable String doc = BaseLangDoc.resolveDoc(lineInfo, resolve); + @Nullable String doc = BaseLangDoc.resolveDoc(info, resolve); if (doc != null) { return doc; } @@ -81,28 +81,28 @@ public class JsonLangDoc extends BaseLangDoc { } @Nullable - private static String extDoc(@NotNull LineInfo lineInfo, @NotNull JsonProperty prop) { + private static String extDoc(@NotNull LineInfo info, @NotNull JsonProperty prop) { @Nullable JsonValue value = prop.getValue(); if (value == null || value instanceof JsonArray || value instanceof JsonObject) { return null; } - @NotNull GlobalSearchScope scope = GlobalSearchScope.allScope(lineInfo.project); + @NotNull GlobalSearchScope scope = GlobalSearchScope.allScope(info.project); @NotNull String jsonKey = prop.getName(); String jsonValue = value.getText(); // Read the json.path before if needed - @Nullable String dictDoc = jsonDictDoc(lineInfo, scope, jsonKey, jsonValue); + @Nullable String dictDoc = jsonDictDoc(info, scope, jsonKey, jsonValue); if (dictDoc != null) { return dictDoc; } - @NotNull Map>> jsonMap = ConfCache.jsonMap(lineInfo.file.getPath()); + @NotNull Map>> jsonMap = ConfCache.jsonMap(info.file.getPath()); return GetFromDocMap.get(jsonMap, jsonKey); } @Nullable - private static String jsonDictDoc(@NotNull LineInfo lineInfo, + private static String jsonDictDoc(@NotNull LineInfo info, @NotNull GlobalSearchScope scope, String jsonKey, String jsonValue) { @NotNull String name = jsonKey + ".tsv"; - @NotNull Collection files = FilenameIndex.getVirtualFilesByName(lineInfo.project, name, scope); + @NotNull Collection files = FilenameIndex.getVirtualFilesByName(info.project, name, scope); // one file if (files.size() < 2) { for (@NotNull VirtualFile file : files) { @@ -120,7 +120,7 @@ public class JsonLangDoc extends BaseLangDoc { @NotNull Map> map = TsvLoader.buildMap(file, false); fileMap.put(file, map); } - @NotNull String path = lineInfo.file.getPath(); + @NotNull String path = info.file.getPath(); @NotNull SortedMap>> sortedMap = ConfCacheGetUtils.filterPath(fileMap, path); return GetFromDocMap.get(sortedMap, jsonValue); } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/PythonLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/PythonLangDoc.java index 058f368..76e33a6 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/PythonLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/PythonLangDoc.java @@ -27,18 +27,18 @@ public class PythonLangDoc extends BaseTagLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentPy; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentPy; } @Override - protected boolean parseBaseComment(@NotNull T settingsInfo) { - return settingsInfo.appSettings.showLineEndCommentPyBase; + protected boolean parseBaseComment(@NotNull T info) { + return info.appSettings.showLineEndCommentPyBase; } @Nullable @Override - protected StructuredDocString toDocElement(@NotNull T settingsInfo, + protected StructuredDocString toDocElement(@NotNull T info, @NotNull PsiElement resolve) { if (resolve instanceof PyDocStringOwner) { @NotNull PyDocStringOwner pyDocStringOwner = (PyDocStringOwner) resolve; @@ -49,24 +49,24 @@ public class PythonLangDoc extends BaseTagLangDoc { @NotNull @Override - protected String descDoc(@NotNull T lineInfo, + protected String descDoc(@NotNull T info, @NotNull StructuredDocString structuredDocString) { String summary = structuredDocString.getSummary(); if (StringUtils.isNotEmpty(summary)) { return summary; } @NotNull String description = structuredDocString.getDescription(); - return DocFilter.cutDoc(DocFilter.html2Text(description), lineInfo, false); + return DocFilter.cutDoc(DocFilter.html2Text(description), info, false); } @Override - protected void appendTag(@NotNull T lineInfo, @NotNull StringBuilder tagStrBuilder, + protected void appendTag(@NotNull T info, @NotNull StringBuilder tagStrBuilder, @NotNull StructuredDocString structuredDocString, @NotNull String name) { if (structuredDocString instanceof TagBasedDocString) { @Nullable Substring tagValue = ((TagBasedDocString) structuredDocString).getTagValue(name); if (tagValue != null) { - @NotNull String cutDoc = DocFilter.cutDoc(tagValue.getValue(), lineInfo, false); + @NotNull String cutDoc = DocFilter.cutDoc(tagValue.getValue(), info, false); tagStrBuilder.append(cutDoc); } } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/SqlLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/SqlLangDoc.java index d9d3099..9ff44b2 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/SqlLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/SqlLangDoc.java @@ -25,13 +25,13 @@ public class SqlLangDoc extends BaseLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { - return lineInfo.appSettings.showLineEndCommentSql; + public boolean show(@NotNull LineInfo info) { + return info.appSettings.showLineEndCommentSql; } @Override - protected @Nullable String refElementDoc(@NotNull LineInfo lineInfo, + protected @Nullable String refElementDoc(@NotNull LineInfo info, @NotNull PsiElement ref) { JBIterable relatedDbElements; Class clazz; @@ -55,7 +55,7 @@ public class SqlLangDoc extends BaseLangDoc { } for (@NotNull DbElement dbElement : relatedDbElements) { @Nullable String refDoc = dbElement.getComment(); - if (refDoc != null && !DocSkip.skipDoc(lineInfo, refDoc)) { + if (refDoc != null && !DocSkip.skipDoc(info, refDoc)) { return refDoc; } } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseLangDoc.java index 0c9e2b9..4474447 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseLangDoc.java @@ -26,10 +26,10 @@ public abstract class BaseLangDoc extends EditorLinePainter { public abstract @Nullable Class getRefClass(); - public abstract boolean show(@NotNull LineInfo lineInfo); + public abstract boolean show(@NotNull LineInfo info); @Nullable - public String treeDoc(T settingsInfo, ProjectViewNode node, Project project) { + public String treeDoc(T info, ProjectViewNode node, Project project) { return null; } @@ -40,21 +40,21 @@ public abstract class BaseLangDoc extends EditorLinePainter { return null; } - public static @Nullable String langDoc(@NotNull LineInfo lineInfo) { - @Nullable PsiElement element = lineInfo.viewProvider.findElementAt(lineInfo.endOffset); + public static @Nullable String langDoc(@NotNull LineInfo info) { + @Nullable PsiElement element = info.viewProvider.findElementAt(info.endOffset); if (element == null) { // file end - element = lineInfo.viewProvider.findElementAt(lineInfo.endOffset - 1); + element = info.viewProvider.findElementAt(info.endOffset - 1); if (element == null) { return null; } } @NotNull Language language = PsiElementTo.language(element); BaseLangDoc lineEnd = LANG_DOC_MAP.get(language.getID()); - if (lineEnd != null && lineEnd.show(lineInfo)) { - return lineEnd.findRefDoc(lineInfo, element); - } else if (language == JsonLanguage.INSTANCE && JsonLangDoc.INSTANCE.show(lineInfo)) { - return JsonLangDoc.INSTANCE.findRefDoc(lineInfo, element); + if (lineEnd != null && lineEnd.show(info)) { + return lineEnd.findRefDoc(info, element); + } else if (language == JsonLanguage.INSTANCE && JsonLangDoc.INSTANCE.show(info)) { + return JsonLangDoc.INSTANCE.findRefDoc(info, element); } return null; } @@ -63,7 +63,7 @@ public abstract class BaseLangDoc extends EditorLinePainter { * Override like JSON */ @Nullable - public String findRefDoc(@NotNull LineInfo lineInfo, @NotNull PsiElement element) { + public String findRefDoc(@NotNull LineInfo info, @NotNull PsiElement element) { @Nullable Class refClass = getRefClass(); if (refClass == null) { return null; @@ -71,9 +71,9 @@ public abstract class BaseLangDoc extends EditorLinePainter { @Nullable String doc = null; @Nullable String text = null; @Nullable PsiElement refElement = element; - while ((refElement = Prev.prevRefChild(lineInfo, refElement, refClass)) != null) { + while ((refElement = Prev.prevRefChild(info, refElement, refClass)) != null) { PsiElement parent = refElement.getParent(); - @Nullable String filterDoc = refElementDoc(lineInfo, parent); + @Nullable String filterDoc = refElementDoc(info, parent); if (filterDoc != null) { doc = filterDoc; text = refElement.getText(); @@ -85,14 +85,14 @@ public abstract class BaseLangDoc extends EditorLinePainter { return null; } // before doc - refElement = Prev.prevRefChild(lineInfo, refElement, refClass); + refElement = Prev.prevRefChild(info, refElement, refClass); if (refElement == null) { return doc; } PsiElement parent = refElement.getParent(); - @Nullable String before = refElementDoc(lineInfo, parent); + @Nullable String before = refElementDoc(info, parent); if (before != null) { - doc = mergeDoc(refElement.getText(), text, lineInfo.appSettings.getToSet, before, doc); + doc = mergeDoc(refElement.getText(), text, info.appSettings.getToSet, before, doc); } return doc; } @@ -123,10 +123,10 @@ public abstract class BaseLangDoc extends EditorLinePainter { * Override like SQL */ @Nullable - protected String refElementDoc(@NotNull LineInfo lineInfo, + protected String refElementDoc(@NotNull LineInfo info, @NotNull PsiElement refElement) { - @Nullable String refDoc = refDoc(lineInfo, refElement); - if (refDoc != null && !DocSkip.skipDoc(lineInfo, refDoc)) { + @Nullable String refDoc = refDoc(info, refElement); + if (refDoc != null && !DocSkip.skipDoc(info, refDoc)) { return refDoc; } return null; @@ -136,7 +136,7 @@ public abstract class BaseLangDoc extends EditorLinePainter { * Override like Java/Json */ @Nullable - protected String refDoc(@NotNull LineInfo lineInfo, @NotNull PsiElement ref) { + protected String refDoc(@NotNull LineInfo info, @NotNull PsiElement ref) { // kotlin ref.getReference() == null but ref.getReferences().length == 2 @NotNull PsiReference[] references = ref.getReferences(); if (references.length < 1) { @@ -154,7 +154,7 @@ public abstract class BaseLangDoc extends EditorLinePainter { if (resolve == null) { return null; } - @Nullable String resolveDoc = resolveDoc(lineInfo, resolve); + @Nullable String resolveDoc = resolveDoc(info, resolve); if (resolveDoc != null) { return resolveDoc; } @@ -162,7 +162,7 @@ public abstract class BaseLangDoc extends EditorLinePainter { return null; } - public static @Nullable String resolveDoc(@NotNull T settingsInfo, + public static @Nullable String resolveDoc(@NotNull T info, @NotNull PsiElement psiElement) { // support like java <-> kotlin @NotNull Language language = PsiElementTo.language(psiElement); @@ -170,20 +170,20 @@ public abstract class BaseLangDoc extends EditorLinePainter { if (lineEnd == null) { return null; } - return lineEnd.resolveDocPrint(settingsInfo, psiElement); + return lineEnd.resolveDocPrint(info, psiElement); } /** * Override like Java/Kotlin/Python */ @Nullable - protected String resolveDocPrint(@NotNull T lineInfo, @NotNull PsiElement resolve) { - @Nullable String s = resolveDocRaw(lineInfo, resolve); + protected String resolveDocPrint(@NotNull T info, @NotNull PsiElement resolve) { + @Nullable String s = resolveDocRaw(info, resolve); if (s == null) { return null; } - @NotNull String cutDoc = DocFilter.cutDoc(s, lineInfo, true); - @NotNull String filterDoc = DocFilter.filterDoc(cutDoc, lineInfo.globalSettings, lineInfo.projectSettings); + @NotNull String cutDoc = DocFilter.cutDoc(s, info, true); + @NotNull String filterDoc = DocFilter.filterDoc(cutDoc, info.globalSettings, info.projectSettings); if (filterDoc.trim().isEmpty()) { return null; } @@ -194,16 +194,16 @@ public abstract class BaseLangDoc extends EditorLinePainter { * Override like JS/Go */ @Nullable - protected String resolveDocRaw(@NotNull T lineInfo, @NotNull PsiElement resolve) { + protected String resolveDocRaw(@NotNull T info, @NotNull PsiElement resolve) { @Nullable FileViewProvider viewProvider = PsiElementTo.viewProvider(resolve); if (viewProvider == null) { return null; } - @Nullable String doc = ResolveDoc.fromLineEnd(lineInfo, resolve, viewProvider); + @Nullable String doc = ResolveDoc.fromLineEnd(info, resolve, viewProvider); if (doc != null) { return doc; } - return ResolveDoc.fromLineUp(lineInfo, resolve, viewProvider, keywords()); + return ResolveDoc.fromLineUp(info, resolve, viewProvider, keywords()); } @NotNull diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseTagLangDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseTagLangDoc.java index d687f99..e458aad 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseTagLangDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/BaseTagLangDoc.java @@ -8,28 +8,28 @@ import org.jetbrains.annotations.Nullable; public abstract class BaseTagLangDoc extends BaseLangDoc { @Override - public @Nullable String resolveDocPrint(@NotNull T settingsInfo, + public @Nullable String resolveDocPrint(@NotNull T info, @NotNull PsiElement resolve) { - @Nullable DocElement docElement = toDocElement(settingsInfo, resolve); - if (docElement == null && parseBaseComment(settingsInfo)) { - return super.resolveDocPrint(settingsInfo, resolve); + @Nullable DocElement docElement = toDocElement(info, resolve); + if (docElement == null && parseBaseComment(info)) { + return super.resolveDocPrint(info, resolve); } - return docElementToStr(settingsInfo, docElement); + return docElementToStr(info, docElement); } @Nullable - public String docElementToStr(@NotNull T lineInfo, @Nullable DocElement docElement) { + public String docElementToStr(@NotNull T info, @Nullable DocElement docElement) { if (docElement == null) { return null; } // desc - @NotNull String descDoc = descDoc(lineInfo, docElement).trim(); - @NotNull String desc = DocFilter.filterDoc(descDoc, lineInfo.globalSettings, lineInfo.projectSettings); + @NotNull String descDoc = descDoc(info, docElement).trim(); + @NotNull String desc = DocFilter.filterDoc(descDoc, info.globalSettings, info.projectSettings); // tag @NotNull StringBuilder tagStrBuilder = new StringBuilder(); - @NotNull String[] names = lineInfo.tagNames(); + @NotNull String[] names = info.tagNames(); for (@NotNull String name : names) { - appendTag(lineInfo, tagStrBuilder, docElement, name); + appendTag(info, tagStrBuilder, docElement, name); } if (!desc.isEmpty()) { if (tagStrBuilder.length() > 0) { @@ -44,19 +44,19 @@ public abstract class BaseTagLangDoc extends BaseLangDoc { return text; } - protected abstract boolean parseBaseComment(T settingsInfo); + protected abstract boolean parseBaseComment(T info); @Nullable - protected abstract DocElement toDocElement(@NotNull T settingsInfo, + protected abstract DocElement toDocElement(@NotNull T info, @NotNull PsiElement resolve); /** * cut / * # not filter text */ @NotNull - protected abstract String descDoc(@NotNull T lineInfo, @NotNull DocElement docElement); + protected abstract String descDoc(@NotNull T info, @NotNull DocElement docElement); - protected abstract void appendTag(@NotNull T lineInfo, + protected abstract void appendTag(@NotNull T info, @NotNull StringBuilder tagStrBuilder, @NotNull DocElement docElement, @NotNull String name); } diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/DocSkip.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/DocSkip.java index 4ad87aa..178c686 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/DocSkip.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/DocSkip.java @@ -10,35 +10,35 @@ public class DocSkip { private DocSkip() {} - public static boolean skipSign(@NotNull T settingsInfo, String text) { - return skipText(settingsInfo, text, - settingsInfo.globalSettings.lineInclude, settingsInfo.globalSettings.lineExclude, - settingsInfo.projectSettings.lineInclude, settingsInfo.projectSettings.lineExclude); + public static boolean skipSign(@NotNull T info, String text) { + return skipText(info, text, + info.globalSettings.lineInclude, info.globalSettings.lineExclude, + info.projectSettings.lineInclude, info.projectSettings.lineExclude); } private static final Pattern NOT_ASCII_PATTERN = Pattern.compile("[^\u0000-\u007f]"); - public static boolean skipDoc(@NotNull T settingsInfo, @NotNull String text) { - if (settingsInfo.appSettings.skipAscii && !NOT_ASCII_PATTERN.matcher(text).find()) { + public static boolean skipDoc(@NotNull T info, @NotNull String text) { + if (info.appSettings.skipAscii && !NOT_ASCII_PATTERN.matcher(text).find()) { return true; } - return skipText(settingsInfo, text, - settingsInfo.globalSettings.docInclude, settingsInfo.globalSettings.docExclude, - settingsInfo.projectSettings.docInclude, settingsInfo.projectSettings.docExclude); + return skipText(info, text, + info.globalSettings.docInclude, info.globalSettings.docExclude, + info.projectSettings.docInclude, info.projectSettings.docExclude); } - static boolean skipText(@NotNull T settingsInfo, @Nullable String text, + static boolean skipText(@NotNull T info, @Nullable String text, @NotNull Pattern appDocInclude, @NotNull Pattern appDocExclude, @NotNull Pattern projectDocInclude, @NotNull Pattern projectDocExclude ) { if (text == null) { return true; } - if (settingsInfo.projectSettings.globalFilterEffective + if (info.projectSettings.globalFilterEffective && skipText(text, appDocInclude, appDocExclude)) { return true; } - if (settingsInfo.projectSettings.projectFilterEffective) { + if (info.projectSettings.projectFilterEffective) { return skipText(text, projectDocInclude, projectDocExclude); } return false; diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/Prev.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/Prev.java index 4cb3694..3c095bd 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/Prev.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/Prev.java @@ -16,18 +16,18 @@ public class Prev { private Prev() {} @Nullable - public static PsiElement prevRefChild(@NotNull LineInfo lineInfo, @NotNull PsiElement element, + public static PsiElement prevRefChild(@NotNull LineInfo info, @NotNull PsiElement element, @NotNull Class refClass) { @Nullable PsiElement prevParent = refClassParent(element, refClass); while ((element = PsiTreeUtil.prevVisibleLeaf(element)) != null) { - if (element.getTextRange().getEndOffset() < lineInfo.startOffset) { + if (element.getTextRange().getEndOffset() < info.startOffset) { return null; } @Nullable PsiElement parent = refClassParent(element, refClass); if (parent != null) { // skip b in a.b.c if (prevParent != null - && prevParent.getTextRange().getEndOffset() < lineInfo.endOffset + && prevParent.getTextRange().getEndOffset() < info.endOffset && PsiTreeUtil.findChildOfType(prevParent, refClass) == parent) { prevParent = parent; } else { @@ -68,7 +68,7 @@ public class Prev { } public static @Nullable PsiElement prevCompactElement( - @SuppressWarnings("unused") @NotNull T lineInfo, @NotNull PsiElement resolve, @NotNull Document document) { + @SuppressWarnings("unused") @NotNull T info, @NotNull PsiElement resolve, @NotNull Document document) { @Nullable PsiElement element = PsiTreeUtil.prevVisibleLeaf(resolve); if (element == null) { return null; diff --git a/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java b/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java index 9ad89e9..83b46fc 100644 --- a/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/lang/base/ResolveDoc.java @@ -16,7 +16,7 @@ public class ResolveDoc { private ResolveDoc() {} @Nullable - public static String fromLineEnd(@SuppressWarnings("unused") @NotNull T lineInfo, + public static String fromLineEnd(@SuppressWarnings("unused") @NotNull T info, @NotNull PsiElement resolve, @NotNull FileViewProvider resolveViewProvider) { @Nullable Document document = resolveViewProvider.getDocument(); @@ -50,7 +50,7 @@ public class ResolveDoc { } @Nullable - public static String fromLineUp(@NotNull T lineInfo, + public static String fromLineUp(@NotNull T info, @NotNull PsiElement resolve, @NotNull FileViewProvider resolveViewProvider, @NotNull List keywords) { @@ -60,13 +60,13 @@ public class ResolveDoc { } @Nullable PsiElement psiElement = PsiTreeUtil.getChildOfType(resolve, PsiComment.class); if (psiElement == null) { - psiElement = Prev.prevCompactElement(lineInfo, resolve, document); + psiElement = Prev.prevCompactElement(info, resolve, document); } if (!keywords.isEmpty()) { while (psiElement != null) { String text = psiElement.getText(); if (keywords.contains(text)) { - psiElement = Prev.prevCompactElement(lineInfo, psiElement, document); + psiElement = Prev.prevCompactElement(info, psiElement, document); } else { break; } @@ -77,7 +77,7 @@ public class ResolveDoc { while (isComment) { String text = psiElement.getText(); int thisStartOffset = psiElement.getTextRange().getStartOffset(); - psiElement = Prev.prevCompactElement(lineInfo, psiElement, document); + psiElement = Prev.prevCompactElement(info, psiElement, document); isComment = psiElement instanceof PsiComment; if (!isComment && psiElement != null) { int prevEndOffset = psiElement.getTextRange().getEndOffset(); diff --git a/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java b/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java index 545e05a..cacffda 100644 --- a/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java +++ b/src/main/java/io/github/linwancen/plugin/show/tree/RelFileDoc.java @@ -15,9 +15,9 @@ public class RelFileDoc { private RelFileDoc() {} @Nullable - public static String relFileDoc(ProjectViewNode node, @NotNull SettingsInfo settingsInfo) { - @NotNull ProjectSettingsState projectSettings = settingsInfo.projectSettings; - @NotNull GlobalSettingsState globalSettings = settingsInfo.globalSettings; + public static String relFileDoc(ProjectViewNode node, @NotNull SettingsInfo info) { + @NotNull ProjectSettingsState projectSettings = info.projectSettings; + @NotNull GlobalSettingsState globalSettings = info.globalSettings; if (projectSettings.projectFilterEffective) { @Nullable String doc = relDoc(node, projectSettings); if (StringUtils.isNotBlank(doc)) { diff --git a/src/main/rider/io/github/linwancen/plugin/show/lang/CsLineEnd.java b/src/main/rider/io/github/linwancen/plugin/show/lang/CsLineEnd.java index 5f91790..c665cbc 100644 --- a/src/main/rider/io/github/linwancen/plugin/show/lang/CsLineEnd.java +++ b/src/main/rider/io/github/linwancen/plugin/show/lang/CsLineEnd.java @@ -18,7 +18,7 @@ public class CsLineEnd extends BaseLangDoc { } @Override - public boolean show(@NotNull LineInfo lineInfo) { + public boolean show(@NotNull LineInfo info) { return true; }