feat(ScalaLangDoc): support Scala | 支持 Scala
This commit is contained in:
@@ -13,7 +13,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
|
||||
<h2>English Note</h2>
|
||||
<ul>
|
||||
<li>support Java Kotlin JS/TS PHP Python Go Rust C SQL
|
||||
<li>support Java Kotlin Scala JS/TS PHP Python Go Rust C SQL
|
||||
<li>tree doc from lang or README.md pom .gradle etc. by settings
|
||||
<li>input `doc` `docc` -> /** */
|
||||
<li>json doc from xxx.json.tsv
|
||||
@@ -58,7 +58,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
<ul>
|
||||
<li>在结构树显示 文件注释 或 项目说明 (README.md pom.xml 等,可设置)
|
||||
<li>在行末尾显示 引用对象的文档注释,欢迎反馈您想要支持的语言,欢迎 C# 大神研究 CsLineEnd.java
|
||||
<li>目前支持 Java Kotlin JS/TS PHP Python Go Rust C SQL
|
||||
<li>目前支持 Java Kotlin Scala JS/TS PHP Python Go Rust C SQL
|
||||
<li>输入 doc / docc 等生成 /** */
|
||||
<li>json 字段注释从 xxx.json.tsv 读取
|
||||
<li>json 字典注释从 键名.tsv 读取
|
||||
@@ -121,7 +121,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
|
||||
<h2>English Change Notes:</h2>
|
||||
<ul>
|
||||
<li>2.16 Add line-end-comment support Rust, PHP, C/C++/Object C
|
||||
<li>2.16 Add line-end-comment support Rust, PHP, C/C++/Object C, Scala
|
||||
<li>2.15 Add line-end-comment java anno doc
|
||||
<li>2.14 Add line-end-comment java enum doc for Yes(1, "Yes")
|
||||
<li>2.13 ★ Cache for 2023.3
|
||||
@@ -166,7 +166,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
|
||||
<h2>中文更新说明:</h2>
|
||||
<ul>
|
||||
<li>2.16 增加 行末注释 支持 Rust, PHP, C/C++/Object C
|
||||
<li>2.16 增加 行末注释 支持 Rust, PHP, C/C++/Object C, Scala
|
||||
<li>2.15 增加 行末注释 java 注解注释
|
||||
<li>2.14 增加 行末注释 java 枚举注释用于 Yes(1, "是")
|
||||
<li>2.13 ★ 缓存用于支持 2023.3
|
||||
|
||||
@@ -33,6 +33,7 @@ intellij {
|
||||
'Pythonid:201.6668.121',
|
||||
'org.rust.lang:0.3.131.3366-201',
|
||||
'org.toml.lang:0.2.131.3366-201',
|
||||
'org.intellij.scala:2020.1.43',
|
||||
]
|
||||
if ('IC' == ideTypeStr || 'IU' == ideTypeStr) {
|
||||
plugins.add('java')
|
||||
@@ -91,7 +92,7 @@ patchPluginXml {
|
||||
changeNotes = """
|
||||
<h2>English Change Notes:</h2>
|
||||
<ul>
|
||||
<li>2.16 Add line-end-comment support Rust, PHP, C/C++/Object C
|
||||
<li>2.16 Add line-end-comment support Rust, PHP, C/C++/Object C, Scala
|
||||
<li>2.15 Add line-end-comment java anno doc
|
||||
<li>2.14 Add line-end-comment java enum doc for Yes(1, "Yes")
|
||||
<li>2.13 ★ Cache for 2023.3
|
||||
@@ -136,7 +137,7 @@ patchPluginXml {
|
||||
|
||||
<h2>中文更新说明:</h2>
|
||||
<ul>
|
||||
<li>2.16 增加 行末注释 支持 Rust, PHP, C/C++/Object C
|
||||
<li>2.16 增加 行末注释 支持 Rust, PHP, C/C++/Object C, Scala
|
||||
<li>2.15 增加 行末注释 java 注解注释
|
||||
<li>2.14 增加 行末注释 java 枚举注释用于 Yes(1, "是")
|
||||
<li>2.13 ★ 缓存用于支持 2023.3
|
||||
|
||||
@@ -3,8 +3,20 @@ package io.github.linwancen.plugin.show.java;
|
||||
import com.intellij.ide.projectView.ProjectViewNode;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.javadoc.*;
|
||||
import com.intellij.psi.PsiDocCommentOwner;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiEnumConstant;
|
||||
import com.intellij.psi.PsiField;
|
||||
import com.intellij.psi.PsiJavaCodeReferenceElement;
|
||||
import com.intellij.psi.PsiJvmModifiersOwner;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiParameter;
|
||||
import com.intellij.psi.PsiWhiteSpace;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.javadoc.PsiDocTag;
|
||||
import com.intellij.psi.javadoc.PsiDocTagValue;
|
||||
import com.intellij.psi.javadoc.PsiDocToken;
|
||||
import com.intellij.psi.javadoc.PsiInlineDocTag;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import io.github.linwancen.plugin.show.bean.LineInfo;
|
||||
import io.github.linwancen.plugin.show.bean.SettingsInfo;
|
||||
@@ -111,9 +123,14 @@ public class JavaLangDoc extends BaseTagLangDoc<PsiDocComment> {
|
||||
@NotNull
|
||||
@Override
|
||||
protected <T extends SettingsInfo> String descDoc(@NotNull T info, @NotNull PsiDocComment psiDocComment) {
|
||||
@NotNull PsiElement[] elements = psiDocComment.getDescriptionElements();
|
||||
return elementsDesc(info, elements);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
protected <T extends SettingsInfo> String elementsDesc(@NotNull T info, @NotNull PsiElement[] elements) {
|
||||
@NotNull StringBuilder sb = new StringBuilder();
|
||||
int lineCount = 0;
|
||||
@NotNull PsiElement[] elements = psiDocComment.getDescriptionElements();
|
||||
for (PsiElement element : elements) {
|
||||
if (appendElementText(sb, element)) {
|
||||
lineCount++;
|
||||
@@ -126,9 +143,9 @@ public class JavaLangDoc extends BaseTagLangDoc<PsiDocComment> {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return is new line
|
||||
* @return is a new line
|
||||
*/
|
||||
private static boolean appendElementText(@NotNull StringBuilder sb, PsiElement element) {
|
||||
protected boolean appendElementText(@NotNull StringBuilder sb, PsiElement element) {
|
||||
if (element instanceof PsiDocToken) {
|
||||
@NotNull PsiDocToken psiDocToken = (PsiDocToken) element;
|
||||
DocFilter.addHtml(sb, psiDocToken.getText());
|
||||
@@ -148,10 +165,14 @@ public class JavaLangDoc extends BaseTagLangDoc<PsiDocComment> {
|
||||
@NotNull PsiDocComment psiDocComment, @NotNull String name) {
|
||||
@NotNull PsiDocTag[] tags = psiDocComment.findTagsByName(name);
|
||||
for (@NotNull PsiDocTag tag : tags) {
|
||||
// @see @param should use getDataElements()
|
||||
@Nullable PsiDocTagValue value = tag.getValueElement();
|
||||
if (value != null) {
|
||||
DocFilter.addHtml(tagStrBuilder, value.getText());
|
||||
} else {
|
||||
PsiElement[] dataElements = tag.getDataElements();
|
||||
if (dataElements.length > 0) {
|
||||
DocFilter.addHtml(tagStrBuilder, dataElements[0].getText());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package io.github.linwancen.plugin.show.java;
|
||||
|
||||
import com.intellij.psi.PsiDocCommentOwner;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.javadoc.PsiDocComment;
|
||||
import com.intellij.psi.javadoc.PsiDocTag;
|
||||
import io.github.linwancen.plugin.show.bean.LineInfo;
|
||||
import io.github.linwancen.plugin.show.bean.SettingsInfo;
|
||||
import io.github.linwancen.plugin.show.java.line.OwnerToPsiDocSkip;
|
||||
import io.github.linwancen.plugin.show.lang.base.DocFilter;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.plugins.scala.ScalaLanguage;
|
||||
import org.jetbrains.plugins.scala.lang.psi.api.expr.ScReferenceExpression;
|
||||
import org.jetbrains.plugins.scala.lang.scaladoc.psi.api.ScDocResolvableCodeReference;
|
||||
import org.jetbrains.plugins.scala.lang.scaladoc.psi.api.ScDocTag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ScalaLangDoc extends JavaLangDoc {
|
||||
|
||||
public static final ScalaLangDoc INSTANCE = new ScalaLangDoc();
|
||||
|
||||
static {
|
||||
LANG_DOC_MAP.put(ScalaLanguage.INSTANCE.getID(), INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<Class<? extends PsiElement>> getRefClass() {
|
||||
return List.of(ScReferenceExpression.class, ScDocResolvableCodeReference.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean show(@NotNull LineInfo info) {
|
||||
return info.appSettings.showLineEndCommentScala;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <T extends SettingsInfo> boolean parseBaseComment(@NotNull T info) {
|
||||
return info.appSettings.showLineEndCommentScalaBase;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected <T extends SettingsInfo> PsiDocComment toDocElement(@NotNull T info,
|
||||
@NotNull PsiElement resolve) {
|
||||
if (resolve instanceof PsiDocCommentOwner) {
|
||||
@NotNull PsiDocCommentOwner psiDocCommentOwner = (PsiDocCommentOwner) resolve;
|
||||
return OwnerToPsiDocSkip.refDocWithOutSkip(info, psiDocCommentOwner);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected <T extends SettingsInfo> String descDoc(@NotNull T info, @NotNull PsiDocComment psiDocComment) {
|
||||
@NotNull PsiElement[] elements = psiDocComment.getChildren();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (PsiElement element : elements) {
|
||||
if (!(element instanceof PsiDocTag)) {
|
||||
sb.append(element.getText());
|
||||
}
|
||||
}
|
||||
return DocFilter.cutDoc(sb.toString(), info, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected <T extends SettingsInfo> 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) {
|
||||
if (tag instanceof ScDocTag) {
|
||||
ScDocTag scDocTag = (ScDocTag) tag;
|
||||
String doc = scDocTag.getCommentDataText();
|
||||
DocFilter.addHtml(tagStrBuilder, doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,12 @@ public class OwnerToPsiDocSkip {
|
||||
@Nullable
|
||||
public static <T extends SettingsInfo> PsiDocComment refDoc(@NotNull T info,
|
||||
@Nullable PsiDocCommentOwner docOwner) {
|
||||
return SkipUtils.skipDoc(info, refDocWithOutSkip(info, docOwner));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static <T extends SettingsInfo> PsiDocComment refDocWithOutSkip(@NotNull T info,
|
||||
@Nullable PsiDocCommentOwner docOwner) {
|
||||
if (docOwner == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -27,6 +33,6 @@ public class OwnerToPsiDocSkip {
|
||||
@Nullable PsiDocComment docComment = docOwner instanceof PsiMethod
|
||||
? PsiMethodToPsiDoc.methodSupperNewPropDoc(((PsiMethod) docOwner))
|
||||
: docOwner.getDocComment();
|
||||
return SkipUtils.skipDoc(info, docComment);
|
||||
return docComment;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,9 @@ public class AppSettingsComponent {
|
||||
private final JBCheckBox showLineEndCommentJava = new JBCheckBox(" Java ");
|
||||
private final JBCheckBox showLineEndCommentJavaBase = new JBCheckBox("// Java ");
|
||||
private final JBCheckBox showLineEndCommentKotlin = new JBCheckBox(" Kotlin ");
|
||||
private final JBCheckBox showLineEndCommentScala = new JBCheckBox(" Scala ");
|
||||
private final JBCheckBox showLineEndCommentKotlinBase = new JBCheckBox("// Kotlin ");
|
||||
private final JBCheckBox showLineEndCommentScalaBase = new JBCheckBox("// Scala ");
|
||||
private final JBCheckBox showLineEndCommentJs = new JBCheckBox(" js ");
|
||||
private final JBCheckBox showLineEndCommentJsBase = new JBCheckBox("// js ");
|
||||
private final JBCheckBox showLineEndCommentPhp = new JBCheckBox(" php ");
|
||||
@@ -69,19 +71,27 @@ public class AppSettingsComponent {
|
||||
.addComponent(JPanelFactory.of(
|
||||
showLineEndCommentJava,
|
||||
showLineEndCommentKotlin,
|
||||
showLineEndCommentScala
|
||||
), 1)
|
||||
.addComponent(JPanelFactory.of(
|
||||
showLineEndCommentJavaBase,
|
||||
showLineEndCommentKotlinBase,
|
||||
showLineEndCommentScalaBase
|
||||
), 1)
|
||||
.addComponent(JPanelFactory.of(
|
||||
showLineEndCommentJs,
|
||||
showLineEndCommentPhp,
|
||||
showLineEndCommentPy,
|
||||
|
||||
showLineEndCommentGo,
|
||||
showLineEndCommentSql,
|
||||
showLineEndCommentJson
|
||||
), 1)
|
||||
.addComponent(JPanelFactory.of(
|
||||
showLineEndCommentJavaBase,
|
||||
showLineEndCommentKotlinBase,
|
||||
showLineEndCommentJsBase,
|
||||
showLineEndCommentPhpBase,
|
||||
showLineEndCommentPyBase,
|
||||
|
||||
showLineEndCommentRustBase,
|
||||
showLineEndCommentCBase,
|
||||
showLineEndCommentSwiftBase
|
||||
@@ -184,6 +194,14 @@ public class AppSettingsComponent {
|
||||
showLineEndCommentKotlin.setSelected(newStatus);
|
||||
}
|
||||
|
||||
public boolean getShowLineEndCommentScala() {
|
||||
return showLineEndCommentScala.isSelected();
|
||||
}
|
||||
|
||||
public void setShowLineEndCommentScala(boolean newStatus) {
|
||||
showLineEndCommentScala.setSelected(newStatus);
|
||||
}
|
||||
|
||||
public boolean getShowLineEndCommentJs() {
|
||||
return showLineEndCommentJs.isSelected();
|
||||
}
|
||||
@@ -232,6 +250,14 @@ public class AppSettingsComponent {
|
||||
showLineEndCommentKotlinBase.setSelected(newStatus);
|
||||
}
|
||||
|
||||
public boolean getShowLineEndCommentScalaBase() {
|
||||
return showLineEndCommentScalaBase.isSelected();
|
||||
}
|
||||
|
||||
public void setShowLineEndCommentScalaBase(boolean newStatus) {
|
||||
showLineEndCommentScalaBase.setSelected(newStatus);
|
||||
}
|
||||
|
||||
public boolean getShowLineEndCommentJsBase() {
|
||||
return showLineEndCommentJsBase.isSelected();
|
||||
}
|
||||
|
||||
@@ -43,12 +43,14 @@ public class AppSettingsConfigurable implements Configurable {
|
||||
modified |= mySettingsComponent.getLineEndCache() != settings.lineEndCache;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentJava() != settings.showLineEndCommentJava;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentKotlin() != settings.showLineEndCommentKotlin;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentScala() != settings.showLineEndCommentScala;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentJs() != settings.showLineEndCommentJs;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentPhp() != settings.showLineEndCommentPhp;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentPy() != settings.showLineEndCommentPy;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentGo() != settings.showLineEndCommentGo;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentJavaBase() != settings.showLineEndCommentJavaBase;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentKotlinBase() != settings.showLineEndCommentKotlinBase;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentScalaBase() != settings.showLineEndCommentScalaBase;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentJsBase() != settings.showLineEndCommentJsBase;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentPhpBase() != settings.showLineEndCommentPhpBase;
|
||||
modified |= mySettingsComponent.getShowLineEndCommentPyBase() != settings.showLineEndCommentPyBase;
|
||||
@@ -87,12 +89,14 @@ public class AppSettingsConfigurable implements Configurable {
|
||||
settings.lineEndCache = mySettingsComponent.getLineEndCache();
|
||||
settings.showLineEndCommentJava = mySettingsComponent.getShowLineEndCommentJava();
|
||||
settings.showLineEndCommentKotlin = mySettingsComponent.getShowLineEndCommentKotlin();
|
||||
settings.showLineEndCommentScala = mySettingsComponent.getShowLineEndCommentScala();
|
||||
settings.showLineEndCommentJs = mySettingsComponent.getShowLineEndCommentJs();
|
||||
settings.showLineEndCommentPhp = mySettingsComponent.getShowLineEndCommentPhp();
|
||||
settings.showLineEndCommentPy = mySettingsComponent.getShowLineEndCommentPy();
|
||||
settings.showLineEndCommentGo = mySettingsComponent.getShowLineEndCommentGo();
|
||||
settings.showLineEndCommentJavaBase = mySettingsComponent.getShowLineEndCommentJavaBase();
|
||||
settings.showLineEndCommentKotlinBase = mySettingsComponent.getShowLineEndCommentKotlinBase();
|
||||
settings.showLineEndCommentScalaBase = mySettingsComponent.getShowLineEndCommentScalaBase();
|
||||
settings.showLineEndCommentJsBase = mySettingsComponent.getShowLineEndCommentJsBase();
|
||||
settings.showLineEndCommentPhpBase = mySettingsComponent.getShowLineEndCommentPhpBase();
|
||||
settings.showLineEndCommentPyBase = mySettingsComponent.getShowLineEndCommentPyBase();
|
||||
@@ -134,12 +138,14 @@ public class AppSettingsConfigurable implements Configurable {
|
||||
mySettingsComponent.setLineEndCache(settings.lineEndCache);
|
||||
mySettingsComponent.setShowLineEndCommentJava(settings.showLineEndCommentJava);
|
||||
mySettingsComponent.setShowLineEndCommentKotlin(settings.showLineEndCommentKotlin);
|
||||
mySettingsComponent.setShowLineEndCommentScala(settings.showLineEndCommentScala);
|
||||
mySettingsComponent.setShowLineEndCommentJs(settings.showLineEndCommentJs);
|
||||
mySettingsComponent.setShowLineEndCommentPhp(settings.showLineEndCommentPhp);
|
||||
mySettingsComponent.setShowLineEndCommentPy(settings.showLineEndCommentPy);
|
||||
mySettingsComponent.setShowLineEndCommentGo(settings.showLineEndCommentGo);
|
||||
mySettingsComponent.setShowLineEndCommentJavaBase(settings.showLineEndCommentJavaBase);
|
||||
mySettingsComponent.setShowLineEndCommentKotlinBase(settings.showLineEndCommentKotlinBase);
|
||||
mySettingsComponent.setShowLineEndCommentScalaBase(settings.showLineEndCommentScalaBase);
|
||||
mySettingsComponent.setShowLineEndCommentJsBase(settings.showLineEndCommentJsBase);
|
||||
mySettingsComponent.setShowLineEndCommentPhpBase(settings.showLineEndCommentPhpBase);
|
||||
mySettingsComponent.setShowLineEndCommentPyBase(settings.showLineEndCommentPyBase);
|
||||
|
||||
@@ -33,6 +33,8 @@ public class AppSettingsState implements PersistentStateComponent<AppSettingsSta
|
||||
public boolean showLineEndCommentJavaBase = false;
|
||||
public boolean showLineEndCommentKotlin = true;
|
||||
public boolean showLineEndCommentKotlinBase = false;
|
||||
public boolean showLineEndCommentScala = true;
|
||||
public boolean showLineEndCommentScalaBase = false;
|
||||
public boolean showLineEndCommentJs = true;
|
||||
public boolean showLineEndCommentJsBase = false;
|
||||
public boolean showLineEndCommentPhp = true;
|
||||
|
||||
@@ -11,7 +11,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
|
||||
<h2>English Note</h2>
|
||||
<ul>
|
||||
<li>support Java Kotlin JS/TS PHP Python Go Rust C SQL
|
||||
<li>support Java Kotlin Scala JS/TS PHP Python Go Rust C SQL
|
||||
<li>tree doc from lang or README.md pom .gradle etc. by settings
|
||||
<li>input `doc` `docc` -> /** */
|
||||
<li>json doc from xxx.json.tsv
|
||||
@@ -56,7 +56,7 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
<ul>
|
||||
<li>在结构树显示 文件注释 或 项目说明 (README.md pom.xml 等,可设置)
|
||||
<li>在行末尾显示 引用对象的文档注释,欢迎反馈您想要支持的语言,欢迎 C# 大神研究 CsLineEnd.java
|
||||
<li>目前支持 Java Kotlin JS/TS PHP Python Go Rust C SQL
|
||||
<li>目前支持 Java Kotlin Scala JS/TS PHP Python Go Rust C SQL
|
||||
<li>输入 doc / docc 等生成 /** */
|
||||
<li>json 字段注释从 xxx.json.tsv 读取
|
||||
<li>json 字典注释从 键名.tsv 读取
|
||||
@@ -120,6 +120,8 @@ Show doc comment in the Project view Tree, line End, json, other
|
||||
<depends>com.intellij.modules.platform</depends>
|
||||
<depends optional="true" config-file="java.xml">com.intellij.modules.java</depends>
|
||||
<depends optional="true" config-file="kotlin.xml">org.jetbrains.kotlin</depends>
|
||||
<!--suppress PluginXmlValidity -->
|
||||
<depends optional="true" config-file="scala.xml">org.intellij.scala</depends>
|
||||
<depends optional="true" config-file="sql.xml">com.intellij.database</depends>
|
||||
<depends optional="true" config-file="js.xml">JavaScript</depends>
|
||||
<depends optional="true" config-file="php.xml">com.jetbrains.php</depends>
|
||||
|
||||
5
src/main/resources/META-INF/scala.xml
Normal file
5
src/main/resources/META-INF/scala.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<idea-plugin>
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<editor.linePainter implementation="io.github.linwancen.plugin.show.java.ScalaLangDoc"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Class
|
||||
* [[ScalaClass#fun2()]]
|
||||
*/
|
||||
class ScalaClass {
|
||||
/**
|
||||
* fun
|
||||
* call [[ScalaClass#fun2()]] method
|
||||
*/
|
||||
private def fun(): Unit = {
|
||||
fun2()
|
||||
}
|
||||
|
||||
/**
|
||||
* fun2
|
||||
* @author name
|
||||
*/
|
||||
def fun2(): Unit = {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user