diff --git a/.gitignore b/.gitignore index 88077fd..daafa61 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,4 @@ build/ *.iml .DS_Store -out -libs +out \ No newline at end of file diff --git a/build.gradle b/build.gradle index 914ef06..159859f 100644 --- a/build.gradle +++ b/build.gradle @@ -99,7 +99,6 @@ dependencies { implementation("org.eclipse.mylyn.github:org.eclipse.egit.github.core:5.5.0.201909110433-r") { exclude module: "gson" } - compileOnly gistFile('https://gist.github.com/izhangzhihao/e9e775b9fccc621de58557a726d84339/raw/1e700b2a23eb4fa8d859f1062956dc08e860cb0b/clion.jar', 'clion') compileOnly fileTree(dir: 'libs', include: ['*.jar']) testImplementation("io.kotlintest:kotlintest:2.0.7") } diff --git a/libs/clion.jar b/libs/clion.jar new file mode 100644 index 0000000..0edb4d3 Binary files /dev/null and b/libs/clion.jar differ diff --git a/libs/rider.jar b/libs/rider.jar new file mode 100644 index 0000000..3c8a872 Binary files /dev/null and b/libs/rider.jar differ diff --git a/src/main/kotlin/com/github/izhangzhihao/rainbow/brackets/provider/CSharpBracePairProvider.kt b/src/main/kotlin/com/github/izhangzhihao/rainbow/brackets/provider/CSharpBracePairProvider.kt new file mode 100644 index 0000000..e765ec3 --- /dev/null +++ b/src/main/kotlin/com/github/izhangzhihao/rainbow/brackets/provider/CSharpBracePairProvider.kt @@ -0,0 +1,18 @@ +package com.github.izhangzhihao.rainbow.brackets.provider + +import com.intellij.lang.BracePair +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LBRACE +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LBRACKET +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.LPARENTH +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RBRACE +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RBRACKET +import com.jetbrains.rider.ideaInterop.fileTypes.csharp.lexer.CSharpTokenType.RPARENTH + +class CSharpBracePairProvider : BracePairProvider { + override fun pairs(): List<BracePair> = listOf( + BracePair(LPARENTH, RPARENTH, false), + BracePair(LBRACE, RBRACE, false), + BracePair(LBRACKET, RBRACKET, false) + ) +} \ No newline at end of file diff --git a/src/main/resources/META-INF/csharp-brackets.xml b/src/main/resources/META-INF/csharp-brackets.xml new file mode 100644 index 0000000..00934f4 --- /dev/null +++ b/src/main/resources/META-INF/csharp-brackets.xml @@ -0,0 +1,6 @@ +<idea-plugin> + <extensions defaultExtensionNs="izhangzhihao.rainbow.brackets"> + <bracePairProvider language="C#" + implementationClass="com.github.izhangzhihao.rainbow.brackets.provider.CSharpBracePairProvider"/> + </extensions> +</idea-plugin> \ No newline at end of file diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index fb14e84..cc78ff6 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -613,7 +613,8 @@ <depends optional="true" config-file="JSX.xml">JavaScript</depends> <depends optional="true" config-file="dart-brackets.xml">Dart</depends> <depends optional="true" config-file="groovy-brackets.xml">org.intellij.groovy</depends> - <depends optional="true" config-file="csharp-annotator.xml">com.intellij.modules.rider</depends> + <!--<depends optional="true" config-file="csharp-annotator.xml">com.intellij.modules.rider</depends>--> + <depends optional="true" config-file="csharp-brackets.xml">com.intellij.modules.rider</depends> <depends optional="true" config-file="intellij-haskell-annotator.xml">intellij.haskell</depends> <depends optional="true" config-file="sql-brackets.xml">com.intellij.database</depends> <depends optional="true" config-file="oc-brackets.xml">com.intellij.modules.clion</depends>