Skip to content

Commit de38037

Browse files
committed
feat(desktop): implement recursive highlight
1 parent ea460fa commit de38037

File tree

16 files changed

+215
-110
lines changed

16 files changed

+215
-110
lines changed

.idea/misc.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

application/build.gradle.kts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
* along with this program. If not, see <https://www.gnu.org/licenses/>.
1717
*/
1818

19-
import com.android.utils.jvmArchitecture
19+
@file:Suppress("UnstableApiUsage")
20+
2021
import com.android.utils.osArchitecture
2122
import extension.catalog
2223
import extension.config
@@ -34,11 +35,6 @@ version = config.version.name()
3435

3536
kotlin {
3637

37-
jvmToolchain {
38-
languageVersion.set(JavaLanguageVersion.of(17))
39-
vendor.set(JvmVendorSpec.ORACLE) // Oracle OpenJDK
40-
}
41-
4238
sourceSets {
4339
commonMain.dependencies {
4440

application/src/androidMain/kotlin/com/neoutils/neoregex/AndroidApp.kt renamed to application/src/androidMain/kotlin/com/neoutils/neoregex/App.android.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,8 @@ import com.neoutils.neoregex.core.designsystem.theme.NeoTheme
2525
import com.neoutils.neoregex.core.sharedui.di.WithKoin
2626

2727
@Composable
28-
fun AndroidApp() {
29-
WithKoin {
30-
NeoTheme {
31-
App(Modifier.safeDrawingPadding())
32-
}
28+
fun AndroidApp() = WithKoin {
29+
NeoTheme {
30+
App(Modifier.safeDrawingPadding())
3331
}
3432
}

application/src/desktopMain/kotlin/com/neoutils/neoregex/DesktopApp.kt renamed to application/src/desktopMain/kotlin/com/neoutils/neoregex/App.desktop.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import androidx.compose.material3.Icon
3030
import androidx.compose.material3.MaterialTheme.colorScheme
3131
import androidx.compose.material3.Text
3232
import androidx.compose.runtime.Composable
33-
import androidx.compose.runtime.LaunchedEffect
3433
import androidx.compose.runtime.collectAsState
3534
import androidx.compose.runtime.getValue
3635
import androidx.compose.ui.Alignment

application/src/desktopMain/kotlin/com/neoutils/neoregex/Main.desktop.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,10 @@
1919
package com.neoutils.neoregex
2020

2121
import androidx.compose.ui.window.launchApplication
22-
import kotlinx.coroutines.CoroutineScope
23-
import org.jetbrains.skiko.MainUIDispatcher
22+
import com.neoutils.neoregex.core.common.util.mainUIScope
2423

2524
fun main() {
26-
with(CoroutineScope(MainUIDispatcher)) {
27-
launchApplication {
28-
DesktopApp()
29-
}
25+
mainUIScope.launchApplication {
26+
DesktopApp()
3027
}
3128
}

application/src/webMain/kotlin/com/neoutils/neoregex/Main.web.kt

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,30 +18,9 @@
1818

1919
package com.neoutils.neoregex
2020

21-
import androidx.compose.foundation.background
22-
import androidx.compose.foundation.layout.Box
23-
import androidx.compose.foundation.layout.fillMaxWidth
24-
import androidx.compose.foundation.layout.padding
25-
import androidx.compose.foundation.layout.size
26-
import androidx.compose.material3.MaterialTheme.colorScheme
27-
import androidx.compose.material3.Text
28-
import androidx.compose.runtime.Composable
29-
import androidx.compose.runtime.LaunchedEffect
30-
import androidx.compose.ui.Alignment
3121
import androidx.compose.ui.ExperimentalComposeUiApi
32-
import androidx.compose.ui.Modifier
33-
import androidx.compose.ui.graphics.Color
34-
import androidx.compose.ui.graphics.graphicsLayer
35-
import androidx.compose.ui.text.font.FontWeight
36-
import androidx.compose.ui.text.style.TextAlign
37-
import androidx.compose.ui.unit.dp
38-
import androidx.compose.ui.unit.sp
3922
import androidx.compose.ui.window.CanvasBasedWindow
40-
import com.neoutils.neoregex.core.common.extension.toCss
4123
import com.neoutils.neoregex.core.common.util.SizeManager
42-
import com.neoutils.neoregex.core.designsystem.theme.NeoTheme
43-
import com.neoutils.neoregex.core.sharedui.di.WithKoin
44-
import kotlinx.browser.document
4524
import kotlinx.coroutines.flow.first
4625
import org.jetbrains.skiko.wasm.onWasmReady
4726

build-logic/src/main/kotlin/com.neoutils.neoregex.android-app.gradle.kts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
*/
1818

1919
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
20+
@file:Suppress("UnstableApiUsage")
2021

2122
import extension.*
23+
import gradle.kotlin.dsl.accessors._3c98c44ac979be75a1ef93311f530471.kotlin
2224
import gradle.kotlin.dsl.accessors._9d6accdeac6876c73060866945fb6d8c.sourceSets
2325
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
2426
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
@@ -29,9 +31,17 @@ plugins {
2931
}
3032

3133
kotlin {
34+
35+
kotlin {
36+
jvmToolchain {
37+
languageVersion.set(JavaLanguageVersion.of(21))
38+
vendor.set(JvmVendorSpec.JETBRAINS)
39+
}
40+
}
41+
3242
androidTarget {
3343
compilerOptions {
34-
jvmTarget.set(JvmTarget.JVM_17)
44+
jvmTarget.set(JvmTarget.JVM_21)
3545
}
3646
}
3747

build-logic/src/main/kotlin/com.neoutils.neoregex.android-library.gradle.kts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,16 @@
1616
* along with this program. If not, see <https://www.gnu.org/licenses/>.
1717
*/
1818

19+
@file:Suppress("UnstableApiUsage")
20+
1921
import extension.config
2022

2123
plugins {
2224
id("com.android.library")
2325
}
2426

2527
android {
28+
2629
namespace = config.basePackage
2730
compileSdk = config.android.compileSdk
2831

@@ -40,11 +43,6 @@ android {
4043
}
4144
}
4245

43-
compileOptions {
44-
sourceCompatibility = JavaVersion.VERSION_17
45-
targetCompatibility = JavaVersion.VERSION_17
46-
}
47-
4846
packaging {
4947
resources {
5048
excludes += "/META-INF/{AL2.0,LGPL2.1}"

build-logic/src/main/kotlin/com.neoutils.neoregex.core.gradle.kts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
@file:OptIn(ExperimentalKotlinGradlePluginApi::class)
20+
@file:Suppress("UnstableApiUsage")
2021

2122
import extension.catalog
2223
import extension.config
@@ -37,16 +38,22 @@ version = config.version.name()
3738

3839
kotlin {
3940

41+
jvmToolchain {
42+
languageVersion.set(JavaLanguageVersion.of(21))
43+
vendor.set(JvmVendorSpec.JETBRAINS)
44+
}
45+
4046
androidTarget {
4147
compilerOptions {
42-
jvmTarget.set(JvmTarget.JVM_17)
48+
jvmTarget.set(JvmTarget.JVM_21)
4349
}
4450
}
4551

4652
jvm("desktop")
4753

4854
js("web", IR) {
4955
browser()
56+
binaries.library()
5057
}
5158

5259
sourceSets {

build-logic/src/main/kotlin/com.neoutils.neoregex.desktop-app.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
* along with this program. If not, see <https://www.gnu.org/licenses/>.
1717
*/
1818

19+
@file:Suppress("UnstableApiUsage")
20+
1921
import extension.catalog
2022
import extension.config
2123
import extension.name
@@ -28,6 +30,12 @@ plugins {
2830
}
2931

3032
kotlin {
33+
34+
jvmToolchain {
35+
languageVersion.set(JavaLanguageVersion.of(21))
36+
vendor.set(JvmVendorSpec.JETBRAINS)
37+
}
38+
3139
jvm(name = "desktop")
3240

3341
sourceSets {

0 commit comments

Comments
 (0)