From 2cdeb4d51d7074e5119c05e8ba9014a57ab372e5 Mon Sep 17 00:00:00 2001 From: kigawa Date: Mon, 25 Aug 2025 03:35:13 +0900 Subject: [PATCH 1/2] refactor: replace `StatedDsl` with unified interface bindings across DSL categories, support `@AutoFill` key generation, and enhance `onClick` handler definitions --- convention-plugins/build.gradle.kts | 1 + .../src/main/kotlin/renlin.common.gradle.kts | 3 +- .../jvmMain/kotlin/generator/DslGenerator.kt | 3 +- .../net/kigawa/renlin/component/Component0.kt | 3 +- .../kotlin/net/kigawa/renlin/dsl/StatedDsl.kt | 113 +++++++++--------- .../net/kigawa/renlin/state/DslStateData.kt | 7 +- .../net/kigawa/renlin/w3c/category/Func.kt | 3 +- .../AutocapitalizeInheritingFormContentDsl.kt | 3 +- ...ritingFormFlowFormAssociatedPalpableDsl.kt | 3 +- .../w3c/category/dsl/EmbeddedContentDsl.kt | 3 +- .../dsl/EmbeddedFlowPalpablePhrasingDsl.kt | 3 +- .../renlin/w3c/category/dsl/FlowContentDsl.kt | 3 +- ...ssociatedInteractivePalpablePhrasingDsl.kt | 3 +- .../dsl/FlowInteractivePalpablePhrasingDsl.kt | 3 +- .../category/dsl/FlowMetadataPhrasingDsl.kt | 3 +- ...FlowMetadataPhrasingScriptSupportingDsl.kt | 3 +- .../w3c/category/dsl/FlowPalpableDsl.kt | 3 +- .../category/dsl/FlowPalpablePhrasingDsl.kt | 3 +- .../w3c/category/dsl/FlowPhrasingDsl.kt | 3 +- .../category/dsl/FormAssociatedContentDsl.kt | 3 +- .../w3c/category/dsl/InteractiveContentDsl.kt | 3 +- .../w3c/category/dsl/MetadataContentDsl.kt | 3 +- .../w3c/category/dsl/PalpableContentDsl.kt | 3 +- .../w3c/category/dsl/PhrasingContentDsl.kt | 3 +- .../dsl/ScriptSupportingContentDsl.kt | 3 +- .../net/kigawa/renlin/w3c/event/tag/click.kt | 3 +- .../kotlin/net/kigawa/renlin/sample/Sub.kt | 4 +- 27 files changed, 111 insertions(+), 83 deletions(-) diff --git a/convention-plugins/build.gradle.kts b/convention-plugins/build.gradle.kts index ffffeff..ab7ff88 100644 --- a/convention-plugins/build.gradle.kts +++ b/convention-plugins/build.gradle.kts @@ -6,4 +6,5 @@ fun pluginId(pluginName: String, version: String) = "$pluginName:$pluginName.gra dependencies { implementation(libs.nexus.publish) implementation(pluginId("org.jetbrains.kotlin.multiplatform", "2.1.0")) + implementation(pluginId("net.kigawa.renlin-compiler", "1.3.8")) } \ No newline at end of file diff --git a/convention-plugins/src/main/kotlin/renlin.common.gradle.kts b/convention-plugins/src/main/kotlin/renlin.common.gradle.kts index 570f536..eb5c14e 100644 --- a/convention-plugins/src/main/kotlin/renlin.common.gradle.kts +++ b/convention-plugins/src/main/kotlin/renlin.common.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { kotlin("multiplatform") - + id("net.kigawa.renlin-compiler") } @@ -24,6 +24,7 @@ kotlin { } sourceSets["commonMain"].dependencies { implementation("net.kigawa:hakate:3.3.2") + implementation("net.kigawa.renlin-compiler:renlin-kotlin-plugin:1.3.8") } sourceSets["commonTest"].dependencies { diff --git a/generate/src/jvmMain/kotlin/generator/DslGenerator.kt b/generate/src/jvmMain/kotlin/generator/DslGenerator.kt index 991509f..7aff60b 100644 --- a/generate/src/jvmMain/kotlin/generator/DslGenerator.kt +++ b/generate/src/jvmMain/kotlin/generator/DslGenerator.kt @@ -35,6 +35,7 @@ class DslGenerator( allowedCategories.connectedStr() }" } + import net.kigawa.renlin.dsl.StatedDsl /** @@ -45,7 +46,7 @@ class DslGenerator( else (categories.filter { it.trim() != dslName.trim() } .joinToString(separator = ",", prefix = ":") { "\n ${it}Dsl" }) - } + }: StatedDsl """.trimIndent() val file = File("$categoryDslOutputDir/${dslName}.kt") diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/component/Component0.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/component/Component0.kt index 0a03c5b..3e26c24 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/component/Component0.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/component/Component0.kt @@ -1,10 +1,11 @@ package net.kigawa.renlin.component +import net.kigawa.renlin.AutoFill import net.kigawa.renlin.dsl.StatedDsl import net.kigawa.renlin.tag.Tag import net.kigawa.renlin.w3c.category.ContentCategory interface Component0, CONTENT_CATEGORY: ContentCategory>: Component { - fun render(parentDsl: StatedDsl, key: String?) + fun render(parentDsl: StatedDsl, @AutoFill key: String?) } \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/dsl/StatedDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/dsl/StatedDsl.kt index 2083785..ffb3150 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/dsl/StatedDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/dsl/StatedDsl.kt @@ -1,6 +1,7 @@ package net.kigawa.renlin.dsl import net.kigawa.hakate.api.state.State +import net.kigawa.renlin.AutoFill import net.kigawa.renlin.component.* import net.kigawa.renlin.state.DslState import net.kigawa.renlin.tag.Fragment @@ -25,7 +26,7 @@ import net.kigawa.renlin.w3c.element.TagNode * * @param CONTENT_CATEGORY このDSLが生成できるHTMLコンテンツのカテゴリ */ -interface StatedDsl< CONTENT_CATEGORY: ContentCategory>: Dsl { +interface StatedDsl: Dsl { /** * 現在のDSLに関連付けられた状態。 * この状態はDSLの動作と描画を制御します。 @@ -58,66 +59,66 @@ interface StatedDsl< CONTENT_CATEGORY: ContentCategory>: Dsl { operator fun > Component0.invoke( - key: String? = null, + @AutoFill key: String? = null, ) = this.render(this@StatedDsl, key) - /** - * コンポーネントを呼び出し、レンダリングするための演算子オーバーロード。 - * - * @param key コンポーネントの一意のキー(オプション) - * @param block コンポーネントの内容を定義するブロック - * @return コンポーネントのレンダリング結果 - */ - operator fun , DSL> Component1.invoke( - key: String? = null, block: DSL, - ) { - return this@invoke.render(this@StatedDsl, block, key) - } + /** + * コンポーネントを呼び出し、レンダリングするための演算子オーバーロード。 + * + * @param key コンポーネントの一意のキー(オプション) + * @param block コンポーネントの内容を定義するブロック + * @return コンポーネントのレンダリング結果 + */ + operator fun , DSL> Component1.invoke( + @AutoFill key: String? = null, block: DSL, + ) { + return this@invoke.render(this@StatedDsl, block, key) + } - /** - * Component2を呼び出し、レンダリングするための演算子オーバーロード。 - * - * @param key コンポーネントの一意のキー(オプション) - * @param arg1 第1引数 - * @param arg2 第2引数 - * @return コンポーネントのレンダリング結果 - */ - operator fun , ARG1, ARG2> Component2.invoke( - arg1: ARG1, arg2: ARG2, key: String? = null, - ) { - return this@invoke.render(this@StatedDsl, arg1, arg2, key) - } + /** + * Component2を呼び出し、レンダリングするための演算子オーバーロード。 + * + * @param key コンポーネントの一意のキー(オプション) + * @param arg1 第1引数 + * @param arg2 第2引数 + * @return コンポーネントのレンダリング結果 + */ + operator fun , ARG1, ARG2> Component2.invoke( + arg1: ARG1, arg2: ARG2, @AutoFill key: String? = null, + ) { + return this@invoke.render(this@StatedDsl, arg1, arg2, key) + } - /** - * Component3を呼び出し、レンダリングするための演算子オーバーロード。 - * - * @param key コンポーネントの一意のキー(オプション) - * @param arg1 第1引数 - * @param arg2 第2引数 - * @param arg3 第3引数 - * @return コンポーネントのレンダリング結果 - */ - operator fun , ARG1, ARG2, ARG3> Component3.invoke( - arg1: ARG1, arg2: ARG2, arg3: ARG3, key: String? = null, - ) { - return this@invoke.render(this@StatedDsl, arg1, arg2, arg3, key) - } + /** + * Component3を呼び出し、レンダリングするための演算子オーバーロード。 + * + * @param key コンポーネントの一意のキー(オプション) + * @param arg1 第1引数 + * @param arg2 第2引数 + * @param arg3 第3引数 + * @return コンポーネントのレンダリング結果 + */ + operator fun , ARG1, ARG2, ARG3> Component3.invoke( + arg1: ARG1, arg2: ARG2, arg3: ARG3, @AutoFill key: String? = null, + ) { + return this@invoke.render(this@StatedDsl, arg1, arg2, arg3, key) + } - /** - * Component4を呼び出し、レンダリングするための演算子オーバーロード。 - * - * @param key コンポーネントの一意のキー(オプション) - * @param arg1 第1引数 - * @param arg2 第2引数 - * @param arg3 第3引数 - * @param arg4 第4引数 - * @return コンポーネントのレンダリング結果 - */ - operator fun , ARG1, ARG2, ARG3, ARG4> Component4.invoke( - arg1: ARG1, arg2: ARG2, arg3: ARG3, arg4: ARG4, key: String? = null, - ) { - return this@invoke.render(this@StatedDsl, arg1, arg2, arg3, arg4, key) - } + /** + * Component4を呼び出し、レンダリングするための演算子オーバーロード。 + * + * @param key コンポーネントの一意のキー(オプション) + * @param arg1 第1引数 + * @param arg2 第2引数 + * @param arg3 第3引数 + * @param arg4 第4引数 + * @return コンポーネントのレンダリング結果 + */ + operator fun , ARG1, ARG2, ARG3, ARG4> Component4.invoke( + arg1: ARG1, arg2: ARG2, arg3: ARG3, arg4: ARG4, @AutoFill key: String? = null, + ) { + return this@invoke.render(this@StatedDsl, arg1, arg2, arg3, arg4, key) + } /** diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/state/DslStateData.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/state/DslStateData.kt index e64684f..9d80863 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/state/DslStateData.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/state/DslStateData.kt @@ -1,5 +1,6 @@ package net.kigawa.renlin.state +import net.kigawa.renlin.AutoFill import net.kigawa.renlin.w3c.event.WebPointerEvent import kotlin.reflect.KClass import kotlin.reflect.typeOf @@ -42,7 +43,7 @@ data class DslStateData( * @param T 追加データの値の型 * @param key 追加データの一意のキー */ - inline fun setAdditionalData(contextClass: KClass<*>, value: T, key: String? = null) { + inline fun setAdditionalData(contextClass: KClass<*>, value: T, @AutoFill key: String? = null) { removeAdditionalData(contextClass) additionalData = additionalData + AdditionalDslStateData( contextClass, typeOf(), key, value @@ -55,7 +56,7 @@ data class DslStateData( * @param T 追加データの値の型 * @param key 追加データの一意のキー */ - inline fun removeAdditionalData(contextClass: KClass<*>,key: String? = null) { + inline fun removeAdditionalData(contextClass: KClass<*>, @AutoFill key: String? = null) { additionalData = additionalData.filter { it.contextClass != contextClass || it.valueType != typeOf() || it.key != key } @@ -71,7 +72,7 @@ data class DslStateData( * @return 一致するデータが見つかった場合はその値、見つからない場合はnul * */ - inline fun getAdditionalData(contextClass: KClass<*>, key: String? = null): T? { + inline fun getAdditionalData(contextClass: KClass<*>, @AutoFill key: String? = null): T? { @Suppress("UNCHECKED_CAST") return additionalData .firstOrNull { diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/Func.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/Func.kt index 449c3d1..1dadc9a 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/Func.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/Func.kt @@ -1,11 +1,12 @@ package net.kigawa.renlin.w3c.category +import net.kigawa.renlin.AutoFill import net.kigawa.renlin.dsl.StatedDsl import net.kigawa.renlin.tag.text import net.kigawa.renlin.w3c.category.native.PhrasingContent -fun StatedDsl.t(str: String, key: String? = null) { +fun StatedDsl.t(str: String, @AutoFill key: String? = null) { text.render(this, { this@render.text = str }, key) diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt index 56c0ea0..f2550c5 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.AutocapitalizeInheritingFormContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for AutocapitalizeInheritingFormContent */ -interface AutocapitalizeInheritingFormContentDsl \ No newline at end of file +interface AutocapitalizeInheritingFormContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt index 905b2ef..f69214b 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.AutocapitalizeInheritingFormFlowFormAssociatedPalpable +import net.kigawa.renlin.dsl.StatedDsl /** @@ -11,4 +12,4 @@ interface AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl, PalpableContentDsl, FormAssociatedContentDsl, - AutocapitalizeInheritingFormContentDsl \ No newline at end of file + AutocapitalizeInheritingFormContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt index 237de29..3026743 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.EmbeddedContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for EmbeddedContent */ -interface EmbeddedContentDsl \ No newline at end of file +interface EmbeddedContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt index d88c32e..456a8dc 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.EmbeddedFlowPalpablePhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -11,4 +12,4 @@ interface EmbeddedFlowPalpablePhrasingDsl, PhrasingContentDsl, EmbeddedContentDsl, - PalpableContentDsl \ No newline at end of file + PalpableContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt index 32e239f..bd05028 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.FlowContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for FlowContent */ -interface FlowContentDsl \ No newline at end of file +interface FlowContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt index 5479706..ccc219b 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowFormAssociatedInteractivePalpablePhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -12,4 +13,4 @@ interface FlowFormAssociatedInteractivePalpablePhrasingDsl, InteractiveContentDsl, PalpableContentDsl, - FormAssociatedContentDsl \ No newline at end of file + FormAssociatedContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt index 4183131..425ca3d 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowInteractivePalpablePhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -11,4 +12,4 @@ interface FlowInteractivePalpablePhrasingDsl, PhrasingContentDsl, PalpableContentDsl, - InteractiveContentDsl \ No newline at end of file + InteractiveContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt index 61eb3b3..396e985 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowMetadataPhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -10,4 +11,4 @@ import net.kigawa.renlin.w3c.category.integration.FlowMetadataPhrasing interface FlowMetadataPhrasingDsl: MetadataContentDsl, FlowContentDsl, - PhrasingContentDsl \ No newline at end of file + PhrasingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt index 3b0061d..55a195e 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowMetadataPhrasingScriptSupporting +import net.kigawa.renlin.dsl.StatedDsl /** @@ -11,4 +12,4 @@ interface FlowMetadataPhrasingScriptSupportingDsl, FlowContentDsl, PhrasingContentDsl, - ScriptSupportingContentDsl \ No newline at end of file + ScriptSupportingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt index 5dd3772..e61d463 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowPalpable +import net.kigawa.renlin.dsl.StatedDsl /** @@ -9,4 +10,4 @@ import net.kigawa.renlin.w3c.category.integration.FlowPalpable */ interface FlowPalpableDsl: FlowContentDsl, - PalpableContentDsl \ No newline at end of file + PalpableContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt index 8905cc9..5a7f99e 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowPalpablePhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -10,4 +11,4 @@ import net.kigawa.renlin.w3c.category.integration.FlowPalpablePhrasing interface FlowPalpablePhrasingDsl: FlowContentDsl, PalpableContentDsl, - PhrasingContentDsl \ No newline at end of file + PhrasingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt index ff9dddf..6159aad 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt @@ -2,6 +2,7 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.integration.FlowPhrasing +import net.kigawa.renlin.dsl.StatedDsl /** @@ -9,4 +10,4 @@ import net.kigawa.renlin.w3c.category.integration.FlowPhrasing */ interface FlowPhrasingDsl: FlowContentDsl, - PhrasingContentDsl \ No newline at end of file + PhrasingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt index bb617b2..52475e2 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.FormAssociatedContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for FormAssociatedContent */ -interface FormAssociatedContentDsl \ No newline at end of file +interface FormAssociatedContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt index dc14fe3..81eebcb 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.InteractiveContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for InteractiveContent */ -interface InteractiveContentDsl \ No newline at end of file +interface InteractiveContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt index d696b57..6265483 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.MetadataContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for MetadataContent */ -interface MetadataContentDsl \ No newline at end of file +interface MetadataContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt index 14f0f18..45ec245 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.PalpableContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for PalpableContent */ -interface PalpableContentDsl \ No newline at end of file +interface PalpableContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt index e18bac5..5e592fc 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.PhrasingContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for PhrasingContent */ -interface PhrasingContentDsl \ No newline at end of file +interface PhrasingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt index fcacff8..ed4a982 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt @@ -2,9 +2,10 @@ package net.kigawa.renlin.w3c.category.dsl import net.kigawa.renlin.w3c.category.native.ScriptSupportingContent +import net.kigawa.renlin.dsl.StatedDsl /** * DSL for ScriptSupportingContent */ -interface ScriptSupportingContentDsl \ No newline at end of file +interface ScriptSupportingContentDsl: StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/event/tag/click.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/event/tag/click.kt index 34eb140..d3ed3b2 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/event/tag/click.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/event/tag/click.kt @@ -1,9 +1,10 @@ package net.kigawa.renlin.w3c.event.tag import net.kigawa.renlin.dsl.StatedDsl +import net.kigawa.renlin.w3c.category.dsl.FlowContentDsl import net.kigawa.renlin.w3c.category.native.EventTarget import net.kigawa.renlin.w3c.event.WebPointerEvent -fun StatedDsl.onClick(block: (WebPointerEvent)-> Unit) { +fun FlowContentDsl<*>.onClick(block: (WebPointerEvent)-> Unit) { this.dslStateData?.onClick = block } \ No newline at end of file diff --git a/sample/src/commonMain/kotlin/net/kigawa/renlin/sample/Sub.kt b/sample/src/commonMain/kotlin/net/kigawa/renlin/sample/Sub.kt index f174a9e..48ca63d 100644 --- a/sample/src/commonMain/kotlin/net/kigawa/renlin/sample/Sub.kt +++ b/sample/src/commonMain/kotlin/net/kigawa/renlin/sample/Sub.kt @@ -23,7 +23,9 @@ class Sub { val display = div.argComponent { block: StatedDsl.() -> Unit -> div("hero-section") { - a {} + a { + onClick { } + } block() t("Renlin") css { From f879a571aeea86bfec6c77c1e33dc06ba98f704d Mon Sep 17 00:00:00 2001 From: kigawa Date: Mon, 25 Aug 2025 14:07:56 +0900 Subject: [PATCH 2/2] refactor: unify `StatedDsl` bindings across DSL categories, add `@AutoFill` annotation for value injection, and adjust Gradle plugin configurations --- .../src/main/kotlin/renlin.common.gradle.kts | 1 - .../src/jvmMain/kotlin/generator/DslGenerator.kt | 15 ++++++++------- gradle.properties | 3 ++- .../kotlin/net/kigawa/renlin/AutoFill.kt | 9 +++++++++ .../dsl/AutocapitalizeInheritingFormContentDsl.kt | 3 ++- ...InheritingFormFlowFormAssociatedPalpableDsl.kt | 3 ++- .../renlin/w3c/category/dsl/EmbeddedContentDsl.kt | 3 ++- .../dsl/EmbeddedFlowPalpablePhrasingDsl.kt | 3 ++- .../renlin/w3c/category/dsl/FlowContentDsl.kt | 3 ++- ...ormAssociatedInteractivePalpablePhrasingDsl.kt | 3 ++- .../dsl/FlowInteractivePalpablePhrasingDsl.kt | 3 ++- .../w3c/category/dsl/FlowMetadataPhrasingDsl.kt | 3 ++- .../FlowMetadataPhrasingScriptSupportingDsl.kt | 3 ++- .../renlin/w3c/category/dsl/FlowPalpableDsl.kt | 3 ++- .../w3c/category/dsl/FlowPalpablePhrasingDsl.kt | 3 ++- .../renlin/w3c/category/dsl/FlowPhrasingDsl.kt | 3 ++- .../w3c/category/dsl/FormAssociatedContentDsl.kt | 3 ++- .../w3c/category/dsl/InteractiveContentDsl.kt | 3 ++- .../renlin/w3c/category/dsl/MetadataContentDsl.kt | 3 ++- .../renlin/w3c/category/dsl/PalpableContentDsl.kt | 3 ++- .../renlin/w3c/category/dsl/PhrasingContentDsl.kt | 3 ++- .../category/dsl/ScriptSupportingContentDsl.kt | 3 ++- 22 files changed, 55 insertions(+), 27 deletions(-) create mode 100644 renlin/src/commonMain/kotlin/net/kigawa/renlin/AutoFill.kt diff --git a/convention-plugins/src/main/kotlin/renlin.common.gradle.kts b/convention-plugins/src/main/kotlin/renlin.common.gradle.kts index eb5c14e..4d06725 100644 --- a/convention-plugins/src/main/kotlin/renlin.common.gradle.kts +++ b/convention-plugins/src/main/kotlin/renlin.common.gradle.kts @@ -24,7 +24,6 @@ kotlin { } sourceSets["commonMain"].dependencies { implementation("net.kigawa:hakate:3.3.2") - implementation("net.kigawa.renlin-compiler:renlin-kotlin-plugin:1.3.8") } sourceSets["commonTest"].dependencies { diff --git a/generate/src/jvmMain/kotlin/generator/DslGenerator.kt b/generate/src/jvmMain/kotlin/generator/DslGenerator.kt index 7aff60b..ea0125b 100644 --- a/generate/src/jvmMain/kotlin/generator/DslGenerator.kt +++ b/generate/src/jvmMain/kotlin/generator/DslGenerator.kt @@ -11,14 +11,17 @@ class DslGenerator( fun generate() { // DSLクラスの生成 (tagCategories.map { it.allowedCategories } + - tagCategories.flatMap { it.allowedCategories.categories }.map { AllowedCategories(it) }) + tagCategories.flatMap { it.allowedCategories.categories }.map { AllowedCategories(it) }) .filter { it.categories.isNotEmpty() } .forEach { allowedCategories -> val dslName = allowedCategories.connectedStr() + "Dsl" if (!processedDsls.contains(dslName)) { processedDsls.add(dslName) val categories = allowedCategories.categories - + val extends = categories + .filter { it.trim() + "Dsl" != dslName.trim() } + .map { "${it}Dsl" } + + "StatedDsl" val imports = mutableListOf() @@ -42,11 +45,9 @@ class DslGenerator( * DSL for ${categories.joinToString(", ")} */ interface ${dslName}${ - if (categories.size <= 1) "" - else (categories.filter { it.trim() != dslName.trim() } - .joinToString(separator = ",", prefix = ":") - { "\n ${it}Dsl" }) - }: StatedDsl + (extends.joinToString(separator = ",", prefix = ":") + { "\n $it" }) + } """.trimIndent() val file = File("$categoryDslOutputDir/${dslName}.kt") diff --git a/gradle.properties b/gradle.properties index 17ed8c5..211078c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ #Gradle -org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 -Dkotlin.daemon.jvm.options\="-Xmx4096M" +org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 +kotlin.daemon.jvmargs=-Xmx4096M org.gradle.caching=true # https://github.com/gradle/gradle/issues/22779 le sigh #org.gradle.configuration-cache=true diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/AutoFill.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/AutoFill.kt new file mode 100644 index 0000000..ff32e30 --- /dev/null +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/AutoFill.kt @@ -0,0 +1,9 @@ +package net.kigawa.renlin + +/** + * Marks a parameter for automatic value injection when passed as null. + * When applied to a function parameter, the plugin will automatically generate and inject a value if null is passed for this parameter. + */ +@Target(AnnotationTarget.VALUE_PARAMETER) +@Retention(AnnotationRetention.RUNTIME) +annotation class AutoFill \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt index f2550c5..0bf2f53 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for AutocapitalizeInheritingFormContent */ -interface AutocapitalizeInheritingFormContentDsl: StatedDsl \ No newline at end of file +interface AutocapitalizeInheritingFormContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt index f69214b..1fb044c 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl.kt @@ -12,4 +12,5 @@ interface AutocapitalizeInheritingFormFlowFormAssociatedPalpableDsl, PalpableContentDsl, FormAssociatedContentDsl, - AutocapitalizeInheritingFormContentDsl: StatedDsl \ No newline at end of file + AutocapitalizeInheritingFormContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt index 3026743..3e619ec 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for EmbeddedContent */ -interface EmbeddedContentDsl: StatedDsl \ No newline at end of file +interface EmbeddedContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt index 456a8dc..5e6195c 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/EmbeddedFlowPalpablePhrasingDsl.kt @@ -12,4 +12,5 @@ interface EmbeddedFlowPalpablePhrasingDsl, PhrasingContentDsl, EmbeddedContentDsl, - PalpableContentDsl: StatedDsl \ No newline at end of file + PalpableContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt index bd05028..7823b97 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for FlowContent */ -interface FlowContentDsl: StatedDsl \ No newline at end of file +interface FlowContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt index ccc219b..d40c95f 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowFormAssociatedInteractivePalpablePhrasingDsl.kt @@ -13,4 +13,5 @@ interface FlowFormAssociatedInteractivePalpablePhrasingDsl, InteractiveContentDsl, PalpableContentDsl, - FormAssociatedContentDsl: StatedDsl \ No newline at end of file + FormAssociatedContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt index 425ca3d..fe4d93b 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowInteractivePalpablePhrasingDsl.kt @@ -12,4 +12,5 @@ interface FlowInteractivePalpablePhrasingDsl, PhrasingContentDsl, PalpableContentDsl, - InteractiveContentDsl: StatedDsl \ No newline at end of file + InteractiveContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt index 396e985..10d5195 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingDsl.kt @@ -11,4 +11,5 @@ import net.kigawa.renlin.dsl.StatedDsl interface FlowMetadataPhrasingDsl: MetadataContentDsl, FlowContentDsl, - PhrasingContentDsl: StatedDsl \ No newline at end of file + PhrasingContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt index 55a195e..fcec3ad 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowMetadataPhrasingScriptSupportingDsl.kt @@ -12,4 +12,5 @@ interface FlowMetadataPhrasingScriptSupportingDsl, FlowContentDsl, PhrasingContentDsl, - ScriptSupportingContentDsl: StatedDsl \ No newline at end of file + ScriptSupportingContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt index e61d463..b8687ce 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpableDsl.kt @@ -10,4 +10,5 @@ import net.kigawa.renlin.dsl.StatedDsl */ interface FlowPalpableDsl: FlowContentDsl, - PalpableContentDsl: StatedDsl \ No newline at end of file + PalpableContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt index 5a7f99e..ef5d21b 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPalpablePhrasingDsl.kt @@ -11,4 +11,5 @@ import net.kigawa.renlin.dsl.StatedDsl interface FlowPalpablePhrasingDsl: FlowContentDsl, PalpableContentDsl, - PhrasingContentDsl: StatedDsl \ No newline at end of file + PhrasingContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt index 6159aad..e44f173 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FlowPhrasingDsl.kt @@ -10,4 +10,5 @@ import net.kigawa.renlin.dsl.StatedDsl */ interface FlowPhrasingDsl: FlowContentDsl, - PhrasingContentDsl: StatedDsl \ No newline at end of file + PhrasingContentDsl, + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt index 52475e2..f2cf278 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/FormAssociatedContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for FormAssociatedContent */ -interface FormAssociatedContentDsl: StatedDsl \ No newline at end of file +interface FormAssociatedContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt index 81eebcb..345dc91 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/InteractiveContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for InteractiveContent */ -interface InteractiveContentDsl: StatedDsl \ No newline at end of file +interface InteractiveContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt index 6265483..bba70f8 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/MetadataContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for MetadataContent */ -interface MetadataContentDsl: StatedDsl \ No newline at end of file +interface MetadataContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt index 45ec245..cfb5419 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PalpableContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for PalpableContent */ -interface PalpableContentDsl: StatedDsl \ No newline at end of file +interface PalpableContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt index 5e592fc..312c754 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/PhrasingContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for PhrasingContent */ -interface PhrasingContentDsl: StatedDsl \ No newline at end of file +interface PhrasingContentDsl: + StatedDsl \ No newline at end of file diff --git a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt index ed4a982..d635078 100644 --- a/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt +++ b/renlin/src/commonMain/kotlin/net/kigawa/renlin/w3c/category/dsl/ScriptSupportingContentDsl.kt @@ -8,4 +8,5 @@ import net.kigawa.renlin.dsl.StatedDsl /** * DSL for ScriptSupportingContent */ -interface ScriptSupportingContentDsl: StatedDsl \ No newline at end of file +interface ScriptSupportingContentDsl: + StatedDsl \ No newline at end of file