mirror of
https://github.com/chylex/IntelliJ-Rainbow-Brackets.git
synced 2025-05-05 04:34:03 +02:00
Refactor support for CLion and Rider
This commit is contained in:
parent
c9b3a33797
commit
405cbd0237
.idea/runConfigurations
build.gradle.ktsclion
.gitignorebuild.gradle.kts
src/main
kotlin/com/github/izhangzhihao/rainbow/brackets/provider
resources/META-INF
idea
.gitignorebuild.gradle.kts
src
main
kotlin/com/github/izhangzhihao/rainbow/brackets
BracePairs.ktRainbowHighlighter.ktRainbowInfo.ktRainbowifyBanner.ktRandomColorGenerator.kt
action
AbstractScopeHighlightingAction.ktScopeHighlightingAction.ktScopeOutsideHighlightingRestrainAction.kt
annotator
color
indents
listener
provider
BracePairProvider.ktDartBracePairProvider.ktGoTemplateProvider.ktGroovyBracePairProvider.ktKotlinBracePairProvider.ktPHPBracePairProvider.ktSHBracePairProvider.ktSqlBracePairProvider.ktTSBracePairProvider.kt
settings
util
Colors.ktDocuments.ktErrorContext.ktMemoize.ktPhysicalFileSystemUtils.ktPsiElements.ktStrings.ktTextAttributesKey.kt
visitor
resources
test/kotlin/com/github/izhangzhihao/rainbow/brackets
rider
settings.gradle.ktssrc/main/resources/META-INF
24
.idea/runConfigurations/Run_CLion.xml
Normal file
24
.idea/runConfigurations/Run_CLion.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Run CLion" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value=":clion:runIde" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<RunAsTest>false</RunAsTest>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
24
.idea/runConfigurations/Run_IDEA.xml
Normal file
24
.idea/runConfigurations/Run_IDEA.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Run IDEA" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value=":idea:runIde" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<RunAsTest>false</RunAsTest>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
24
.idea/runConfigurations/Run_Rider.xml
Normal file
24
.idea/runConfigurations/Run_Rider.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<component name="ProjectRunConfigurationManager">
|
||||||
|
<configuration default="false" name="Run Rider" type="GradleRunConfiguration" factoryName="Gradle">
|
||||||
|
<ExternalSystemSettings>
|
||||||
|
<option name="executionName" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="externalSystemIdString" value="GRADLE" />
|
||||||
|
<option name="scriptParameters" value="" />
|
||||||
|
<option name="taskDescriptions">
|
||||||
|
<list />
|
||||||
|
</option>
|
||||||
|
<option name="taskNames">
|
||||||
|
<list>
|
||||||
|
<option value=":rider:runIde" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
<option name="vmOptions" />
|
||||||
|
</ExternalSystemSettings>
|
||||||
|
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
|
||||||
|
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
|
||||||
|
<DebugAllEnabled>false</DebugAllEnabled>
|
||||||
|
<RunAsTest>false</RunAsTest>
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
</component>
|
161
build.gradle.kts
161
build.gradle.kts
@ -1,110 +1,109 @@
|
|||||||
@file:Suppress("SpellCheckingInspection")
|
@file:Suppress("SpellCheckingInspection")
|
||||||
|
|
||||||
|
import org.jetbrains.intellij.IntelliJPluginExtension
|
||||||
|
import org.jetbrains.intellij.tasks.BuildPluginTask
|
||||||
|
import org.jetbrains.intellij.tasks.BuildSearchableOptionsTask
|
||||||
|
import org.jetbrains.intellij.tasks.PatchPluginXmlTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm") version "1.8.0"
|
idea
|
||||||
id("org.jetbrains.intellij") version "1.15.0"
|
kotlin("jvm")
|
||||||
|
id("org.jetbrains.intellij") apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.chylex.intellij.rainbowbrackets"
|
group = "com.chylex.intellij.rainbowbrackets"
|
||||||
version = "6.26-chylex-2"
|
version = "6.26-chylex-2"
|
||||||
|
|
||||||
val ideVersion = "2023.2.2"
|
val ideVersion = "2023.2.2"
|
||||||
|
val ideBuild = "232"
|
||||||
|
|
||||||
idea {
|
idea {
|
||||||
module {
|
module {
|
||||||
excludeDirs.add(file("gradle"))
|
excludeDirs.add(file("gradle"))
|
||||||
excludeDirs.add(file("libs"))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
maven(url = "https://www.jetbrains.com/intellij-repository/releases")
|
|
||||||
maven(url = "https://www.jetbrains.com/intellij-repository/snapshots")
|
|
||||||
}
|
|
||||||
|
|
||||||
val clion: Configuration by configurations.creating
|
|
||||||
val rider: Configuration by configurations.creating
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
clion("com.jetbrains.intellij.clion:clion:$ideVersion")
|
implementation(project(":clion"))
|
||||||
rider("com.jetbrains.intellij.rider:riderRD:$ideVersion")
|
implementation(project(":idea"))
|
||||||
|
implementation(project(":rider"))
|
||||||
compileOnly(fileTree("libs"))
|
|
||||||
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:5.9.2")
|
|
||||||
testImplementation("io.kotest:kotest-assertions-core:5.5.5")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
subprojects {
|
||||||
jvmToolchain(17)
|
apply(plugin = "org.jetbrains.kotlin.jvm")
|
||||||
}
|
apply(plugin = "org.jetbrains.intellij")
|
||||||
|
|
||||||
intellij {
|
|
||||||
type.set("IU")
|
|
||||||
version.set(ideVersion)
|
|
||||||
updateSinceUntilBuild.set(false)
|
|
||||||
|
|
||||||
plugins.set(
|
group = rootProject.group
|
||||||
listOf(
|
version = rootProject.version
|
||||||
// Built-in
|
|
||||||
"Groovy",
|
repositories {
|
||||||
"JavaScript",
|
mavenCentral()
|
||||||
"com.intellij.css",
|
maven(url = "https://www.jetbrains.com/intellij-repository/releases")
|
||||||
"com.intellij.database",
|
maven(url = "https://www.jetbrains.com/intellij-repository/snapshots")
|
||||||
"com.intellij.java",
|
}
|
||||||
"org.intellij.plugins.markdown",
|
|
||||||
"org.jetbrains.kotlin",
|
dependencies {
|
||||||
"org.jetbrains.plugins.yaml",
|
testImplementation("org.junit.jupiter:junit-jupiter:5.9.2")
|
||||||
// Downloaded
|
testImplementation("io.kotest:kotest-assertions-core:5.5.5")
|
||||||
"Dart:232.8660.129", // https://plugins.jetbrains.com/plugin/6351-dart/versions/stable
|
}
|
||||||
"Pythonid:232.9921.47", // https://plugins.jetbrains.com/plugin/631-python/versions
|
|
||||||
"com.jetbrains.php:232.9921.55", // https://plugins.jetbrains.com/plugin/6610-php/versions
|
kotlin {
|
||||||
"com.jetbrains.sh:232.8660.88", // https://plugins.jetbrains.com/plugin/13122-shell-script/versions
|
jvmToolchain(17)
|
||||||
"org.intellij.scala:2023.2.23", // https://plugins.jetbrains.com/plugin/1347-scala/versions
|
}
|
||||||
"org.jetbrains.plugins.go-template:232.9921.89", // https://plugins.jetbrains.com/plugin/10581-go-template/versions
|
|
||||||
"org.jetbrains.plugins.ruby:232.9921.47", // https://plugins.jetbrains.com/plugin/1293-ruby/versions
|
configure<IntelliJPluginExtension> {
|
||||||
|
version.set(ideVersion)
|
||||||
|
updateSinceUntilBuild.set(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.withType<KotlinCompile> {
|
||||||
|
kotlinOptions.freeCompilerArgs = listOf(
|
||||||
|
"-Xjvm-default=all"
|
||||||
)
|
)
|
||||||
)
|
}
|
||||||
}
|
|
||||||
|
tasks.test {
|
||||||
tasks.patchPluginXml {
|
useJUnitPlatform()
|
||||||
sinceBuild.set("232")
|
}
|
||||||
}
|
|
||||||
|
tasks.getByName<BuildSearchableOptionsTask>("buildSearchableOptions") {
|
||||||
tasks.test {
|
enabled = false
|
||||||
useJUnitPlatform()
|
}
|
||||||
}
|
|
||||||
|
tasks.getByName<PatchPluginXmlTask>("patchPluginXml") {
|
||||||
tasks.withType<KotlinCompile> {
|
sinceBuild.set(ideBuild)
|
||||||
kotlinOptions.freeCompilerArgs = listOf(
|
}
|
||||||
"-Xjvm-default=all"
|
|
||||||
)
|
tasks.getByName<BuildPluginTask>("buildPlugin") {
|
||||||
}
|
eachFile {
|
||||||
|
name = name.replaceFirst("instrumented-", "instrumented-RainbowBrackets-")
|
||||||
fun createDownloadIdeTask(name: String, dependency: Configuration, configuration: CopySpec.() -> Unit): Sync {
|
relativePath.segments[0] = "RainbowBrackets"
|
||||||
return tasks.create<Sync>(name) {
|
}
|
||||||
group = "ides"
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
|
|
||||||
from(dependency.map(::zipTree), configuration)
|
includeEmptyDirs = false
|
||||||
into(file("libs/${dependency.name}"))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val downloadIdeClion = createDownloadIdeTask("downloadIdeClion", clion) {
|
tasks.register<Zip>("buildPlugin") {
|
||||||
include("plugins/cidr-base-plugin/**")
|
group = "intellij"
|
||||||
}
|
|
||||||
|
|
||||||
val downloadIdeRider = createDownloadIdeTask("downloadIdeRider", rider) {
|
|
||||||
include("lib/app.jar")
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.create<Sync>("downloadExtraIdes") {
|
|
||||||
group = "ides"
|
|
||||||
|
|
||||||
dependsOn(downloadIdeClion)
|
for (project in listOf("clion", "idea", "rider")) {
|
||||||
dependsOn(downloadIdeRider)
|
val buildPlugin = project(":$project").tasks.getByName("buildPlugin")
|
||||||
|
val outputs = buildPlugin.outputs.files.map(::zipTree)
|
||||||
|
|
||||||
|
dependsOn(buildPlugin)
|
||||||
|
|
||||||
|
from(outputs) {
|
||||||
|
include("RainbowBrackets/lib/instrumented-RainbowBrackets-$project-$version.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
if (project == "idea") {
|
||||||
|
from(outputs) {
|
||||||
|
include("RainbowBrackets/lib/searchableOptions-$version.jar")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
destinationDirectory = layout.buildDirectory.dir("distributions")
|
||||||
}
|
}
|
||||||
|
1
clion/.gitignore
vendored
Normal file
1
clion/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/build/
|
16
clion/build.gradle.kts
Normal file
16
clion/build.gradle.kts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
plugins {
|
||||||
|
id("org.jetbrains.intellij")
|
||||||
|
}
|
||||||
|
|
||||||
|
intellij {
|
||||||
|
type.set("CL")
|
||||||
|
|
||||||
|
plugins.set(listOf(
|
||||||
|
// Built-in
|
||||||
|
"cidr-base-plugin"
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(project(":idea"))
|
||||||
|
}
|
1
idea/.gitignore
vendored
Normal file
1
idea/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/build/
|
33
idea/build.gradle.kts
Normal file
33
idea/build.gradle.kts
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
plugins {
|
||||||
|
id("org.jetbrains.intellij")
|
||||||
|
}
|
||||||
|
|
||||||
|
intellij {
|
||||||
|
type.set("IU")
|
||||||
|
|
||||||
|
plugins.set(
|
||||||
|
listOf(
|
||||||
|
// Built-in
|
||||||
|
"Groovy",
|
||||||
|
"JavaScript",
|
||||||
|
"com.intellij.css",
|
||||||
|
"com.intellij.database",
|
||||||
|
"com.intellij.java",
|
||||||
|
"org.intellij.plugins.markdown",
|
||||||
|
"org.jetbrains.kotlin",
|
||||||
|
"org.jetbrains.plugins.yaml",
|
||||||
|
// Downloaded
|
||||||
|
"Dart:232.8660.129", // https://plugins.jetbrains.com/plugin/6351-dart/versions/stable
|
||||||
|
"Pythonid:232.9921.47", // https://plugins.jetbrains.com/plugin/631-python/versions
|
||||||
|
"com.jetbrains.php:232.9921.55", // https://plugins.jetbrains.com/plugin/6610-php/versions
|
||||||
|
"com.jetbrains.sh:232.8660.88", // https://plugins.jetbrains.com/plugin/13122-shell-script/versions
|
||||||
|
"org.intellij.scala:2023.2.23", // https://plugins.jetbrains.com/plugin/1347-scala/versions
|
||||||
|
"org.jetbrains.plugins.go-template:232.9921.89", // https://plugins.jetbrains.com/plugin/10581-go-template/versions
|
||||||
|
"org.jetbrains.plugins.ruby:232.9921.47", // https://plugins.jetbrains.com/plugin/1293-ruby/versions
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.buildSearchableOptions {
|
||||||
|
enabled = true
|
||||||
|
}
|
@ -19,7 +19,6 @@ import org.intellij.lang.annotations.Language
|
|||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
import java.util.UUID
|
|
||||||
|
|
||||||
object RainbowHighlighter {
|
object RainbowHighlighter {
|
||||||
|
|
@ -3,7 +3,6 @@ package com.github.izhangzhihao.rainbow.brackets.action
|
|||||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||||
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||||
import com.github.izhangzhihao.rainbow.brackets.util.create
|
|
||||||
import com.intellij.codeInsight.highlighting.HighlightManager
|
import com.intellij.codeInsight.highlighting.HighlightManager
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.editor.colors.EditorColorsManager
|
import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||||
@ -11,7 +10,7 @@ import com.intellij.openapi.editor.markup.EffectType
|
|||||||
import com.intellij.openapi.editor.markup.RangeHighlighter
|
import com.intellij.openapi.editor.markup.RangeHighlighter
|
||||||
import com.intellij.openapi.editor.markup.TextAttributes
|
import com.intellij.openapi.editor.markup.TextAttributes
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
import java.util.*
|
import java.util.LinkedList
|
||||||
|
|
||||||
|
|
||||||
class ScopeHighlightingAction : AbstractScopeHighlightingAction() {
|
class ScopeHighlightingAction : AbstractScopeHighlightingAction() {
|
||||||
@ -33,4 +32,4 @@ class ScopeHighlightingAction : AbstractScopeHighlightingAction() {
|
|||||||
return highlighters
|
return highlighters
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -3,7 +3,6 @@ package com.github.izhangzhihao.rainbow.brackets.action
|
|||||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||||
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||||
import com.github.izhangzhihao.rainbow.brackets.util.create
|
|
||||||
import com.intellij.codeInsight.highlighting.HighlightManager
|
import com.intellij.codeInsight.highlighting.HighlightManager
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.editor.colors.EditorColorsManager
|
import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||||
@ -12,7 +11,7 @@ import com.intellij.openapi.editor.markup.RangeHighlighter
|
|||||||
import com.intellij.openapi.editor.markup.TextAttributes
|
import com.intellij.openapi.editor.markup.TextAttributes
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
import java.util.*
|
import java.util.LinkedList
|
||||||
|
|
||||||
class ScopeOutsideHighlightingRestrainAction : AbstractScopeHighlightingAction() {
|
class ScopeOutsideHighlightingRestrainAction : AbstractScopeHighlightingAction() {
|
||||||
|
|
||||||
@ -50,4 +49,4 @@ class ScopeOutsideHighlightingRestrainAction : AbstractScopeHighlightingAction()
|
|||||||
return highlighters
|
return highlighters
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -12,7 +12,15 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||||
import com.intellij.psi.util.PsiTreeUtil
|
import com.intellij.psi.util.PsiTreeUtil
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
import org.jetbrains.kotlin.lexer.KtTokens
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.KtBlockExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtCallExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtClass
|
||||||
|
import org.jetbrains.kotlin.psi.KtClassBody
|
||||||
|
import org.jetbrains.kotlin.psi.KtFunction
|
||||||
|
import org.jetbrains.kotlin.psi.KtFunctionLiteral
|
||||||
|
import org.jetbrains.kotlin.psi.KtLabelReferenceExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLabeledExpression
|
||||||
|
import org.jetbrains.kotlin.psi.KtLambdaExpression
|
||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
|
|
||||||
|
|
||||||
@ -75,4 +83,4 @@ class KotlinLabelAnnotator : Annotator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,7 +1,12 @@
|
|||||||
package com.github.izhangzhihao.rainbow.brackets.indents
|
package com.github.izhangzhihao.rainbow.brackets.indents
|
||||||
|
|
||||||
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
import com.github.izhangzhihao.rainbow.brackets.RainbowInfo
|
||||||
import com.github.izhangzhihao.rainbow.brackets.util.*
|
import com.github.izhangzhihao.rainbow.brackets.util.alphaBlend
|
||||||
|
import com.github.izhangzhihao.rainbow.brackets.util.endOffset
|
||||||
|
import com.github.izhangzhihao.rainbow.brackets.util.findNextSibling
|
||||||
|
import com.github.izhangzhihao.rainbow.brackets.util.findPrevSibling
|
||||||
|
import com.github.izhangzhihao.rainbow.brackets.util.lineNumber
|
||||||
|
import com.github.izhangzhihao.rainbow.brackets.util.startOffset
|
||||||
import com.intellij.openapi.editor.Document
|
import com.intellij.openapi.editor.Document
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.editor.SoftWrap
|
import com.intellij.openapi.editor.SoftWrap
|
||||||
@ -255,4 +260,4 @@ class RainbowIndentGuideRenderer: CustomHighlighterRenderer {
|
|||||||
lastChild?.findPrevSibling(XML_END_TAG_START_CONDITION)?.let { document.lineNumber(it.startOffset) }
|
lastChild?.findPrevSibling(XML_END_TAG_START_CONDITION)?.let { document.lineNumber(it.startOffset) }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -28,7 +28,7 @@ import com.intellij.util.containers.IntStack
|
|||||||
import com.intellij.util.text.CharArrayUtil
|
import com.intellij.util.text.CharArrayUtil
|
||||||
import java.lang.StrictMath.abs
|
import java.lang.StrictMath.abs
|
||||||
import java.lang.StrictMath.min
|
import java.lang.StrictMath.min
|
||||||
import java.util.*
|
import java.util.Collections
|
||||||
|
|
||||||
/** From [com.intellij.codeInsight.daemon.impl.IndentsPass]
|
/** From [com.intellij.codeInsight.daemon.impl.IndentsPass]
|
||||||
* Commit history: https://sourcegraph.com/github.com/JetBrains/intellij-community/-/blob/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java#tab=history
|
* Commit history: https://sourcegraph.com/github.com/JetBrains/intellij-community/-/blob/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IndentsPass.java#tab=history
|
@ -1,6 +1,10 @@
|
|||||||
package com.github.izhangzhihao.rainbow.brackets.indents
|
package com.github.izhangzhihao.rainbow.brackets.indents
|
||||||
|
|
||||||
import com.intellij.codeHighlighting.*
|
import com.intellij.codeHighlighting.Pass
|
||||||
|
import com.intellij.codeHighlighting.TextEditorHighlightingPass
|
||||||
|
import com.intellij.codeHighlighting.TextEditorHighlightingPassFactory
|
||||||
|
import com.intellij.codeHighlighting.TextEditorHighlightingPassFactoryRegistrar
|
||||||
|
import com.intellij.codeHighlighting.TextEditorHighlightingPassRegistrar
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
@ -21,4 +25,4 @@ class RainbowIndentsPassFactory :
|
|||||||
false
|
false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,9 @@
|
|||||||
package com.github.izhangzhihao.rainbow.brackets.provider
|
package com.github.izhangzhihao.rainbow.brackets.provider
|
||||||
|
|
||||||
import com.goide.template.GoTemplateTypes.*
|
import com.goide.template.GoTemplateTypes.LDOUBLE_BRACE
|
||||||
|
import com.goide.template.GoTemplateTypes.LPAREN
|
||||||
|
import com.goide.template.GoTemplateTypes.RDOUBLE_BRACE
|
||||||
|
import com.goide.template.GoTemplateTypes.RPAREN
|
||||||
import com.intellij.lang.BracePair
|
import com.intellij.lang.BracePair
|
||||||
|
|
||||||
class GoTemplateProvider : BracePairProvider {
|
class GoTemplateProvider : BracePairProvider {
|
||||||
@ -8,4 +11,4 @@ class GoTemplateProvider : BracePairProvider {
|
|||||||
BracePair(LDOUBLE_BRACE, RDOUBLE_BRACE, true),
|
BracePair(LDOUBLE_BRACE, RDOUBLE_BRACE, true),
|
||||||
BracePair(LPAREN, RPAREN, true)
|
BracePair(LPAREN, RPAREN, true)
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -2,7 +2,12 @@ package com.github.izhangzhihao.rainbow.brackets.settings
|
|||||||
|
|
||||||
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
||||||
import com.github.izhangzhihao.rainbow.brackets.settings.form.RainbowOptionsPanel
|
import com.github.izhangzhihao.rainbow.brackets.settings.form.RainbowOptionsPanel
|
||||||
import com.intellij.application.options.colors.*
|
import com.intellij.application.options.colors.ColorAndFontOptions
|
||||||
|
import com.intellij.application.options.colors.ColorAndFontPanelFactory
|
||||||
|
import com.intellij.application.options.colors.ColorAndFontSettingsListener
|
||||||
|
import com.intellij.application.options.colors.NewColorAndFontPanel
|
||||||
|
import com.intellij.application.options.colors.PreviewPanel
|
||||||
|
import com.intellij.application.options.colors.SchemesPanel
|
||||||
import com.intellij.openapi.options.colors.AttributesDescriptor
|
import com.intellij.openapi.options.colors.AttributesDescriptor
|
||||||
import com.intellij.openapi.options.colors.ColorAndFontDescriptorsProvider
|
import com.intellij.openapi.options.colors.ColorAndFontDescriptorsProvider
|
||||||
import com.intellij.openapi.options.colors.ColorDescriptor
|
import com.intellij.openapi.options.colors.ColorDescriptor
|
||||||
@ -52,4 +57,4 @@ class RainbowColorsPageFactory : ColorAndFontPanelFactory, ColorAndFontDescripto
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -2,7 +2,11 @@ package com.github.izhangzhihao.rainbow.brackets.settings.form
|
|||||||
|
|
||||||
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
import com.github.izhangzhihao.rainbow.brackets.RainbowHighlighter
|
||||||
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
import com.github.izhangzhihao.rainbow.brackets.settings.RainbowSettings
|
||||||
import com.intellij.application.options.colors.*
|
import com.intellij.application.options.colors.ColorAndFontOptions
|
||||||
|
import com.intellij.application.options.colors.ColorAndFontSettingsListener
|
||||||
|
import com.intellij.application.options.colors.OptionsPanel
|
||||||
|
import com.intellij.application.options.colors.SchemesPanel
|
||||||
|
import com.intellij.application.options.colors.TextAttributesDescription
|
||||||
import com.intellij.ide.util.PropertiesComponent
|
import com.intellij.ide.util.PropertiesComponent
|
||||||
import com.intellij.ui.ColorPanel
|
import com.intellij.ui.ColorPanel
|
||||||
import com.intellij.ui.components.JBCheckBox
|
import com.intellij.ui.components.JBCheckBox
|
||||||
@ -259,4 +263,4 @@ class RainbowOptionsPanel(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <E> List<E>.indexOfOrNull(idx: Int): E? = if (idx < this.size) this[idx] else null
|
private fun <E> List<E>.indexOfOrNull(idx: Int): E? = if (idx < this.size) this[idx] else null
|
@ -5,7 +5,22 @@ import com.intellij.codeInsight.daemon.impl.HighlightVisitor
|
|||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
import com.intellij.psi.impl.source.tree.LeafPsiElement
|
||||||
import com.jetbrains.python.PyTokenTypes.*
|
import com.jetbrains.python.PyTokenTypes.BREAK_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.CLASS_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.CONTINUE_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.DEF_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.ELIF_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.ELSE_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.EXCEPT_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.FINALLY_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.FOR_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.IF_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.RAISE_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.RETURN_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.TRY_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.WHILE_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.WITH_KEYWORD
|
||||||
|
import com.jetbrains.python.PyTokenTypes.YIELD_KEYWORD
|
||||||
import com.jetbrains.python.psi.PyStatement
|
import com.jetbrains.python.psi.PyStatement
|
||||||
|
|
||||||
|
|
||||||
@ -84,4 +99,4 @@ class PythonRainbowVisitor : RainbowHighlightVisitor() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -749,7 +749,6 @@
|
|||||||
<depends optional="true" config-file="JSX.xml">JavaScript</depends>
|
<depends optional="true" config-file="JSX.xml">JavaScript</depends>
|
||||||
<depends optional="true" config-file="dart-brackets.xml">Dart</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="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-brackets.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="intellij-haskell-annotator.xml">intellij.haskell</depends>
|
||||||
<depends optional="true" config-file="sql-brackets.xml">com.intellij.database</depends>
|
<depends optional="true" config-file="sql-brackets.xml">com.intellij.database</depends>
|
Before (image error) Size: 4.0 KiB After (image error) Size: 4.0 KiB |
1
rider/.gitignore
vendored
Normal file
1
rider/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/build/
|
11
rider/build.gradle.kts
Normal file
11
rider/build.gradle.kts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
plugins {
|
||||||
|
id("org.jetbrains.intellij")
|
||||||
|
}
|
||||||
|
|
||||||
|
intellij {
|
||||||
|
type.set("RD")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(project(":idea"))
|
||||||
|
}
|
@ -10,7 +10,6 @@ import com.intellij.psi.tree.IElementType
|
|||||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.kotoparser.lexer.CSharpTokenType
|
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.kotoparser.lexer.CSharpTokenType
|
||||||
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.psi.CSharpDummyNode
|
import com.jetbrains.rider.ideaInterop.fileTypes.csharp.psi.CSharpDummyNode
|
||||||
|
|
||||||
|
|
||||||
class CSharpRainbowVisitor : RainbowHighlightVisitor() {
|
class CSharpRainbowVisitor : RainbowHighlightVisitor() {
|
||||||
|
|
||||||
override fun suitableForFile(file: PsiFile)
|
override fun suitableForFile(file: PsiFile)
|
@ -5,4 +5,13 @@ pluginManagement {
|
|||||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
kotlin("jvm") version "1.8.0"
|
||||||
|
id("org.jetbrains.intellij") version "1.15.0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
include("clion")
|
||||||
|
include("idea")
|
||||||
|
include("rider")
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
<idea-plugin>
|
|
||||||
<extensions defaultExtensionNs="com.intellij">
|
|
||||||
<annotator language="C#" implementationClass="com.github.izhangzhihao.rainbow.brackets.annotator.RainbowAnnotator"/>
|
|
||||||
</extensions>
|
|
||||||
</idea-plugin>
|
|
Loading…
Reference in New Issue
Block a user