JetBrains / sbt-idea-plugin

Develop IntelliJ plugins with Scala and SBT
Apache License 2.0
95 stars 26 forks source link

Automatically fetch plugin description from README.md #128

Open zhutmost opened 2 months ago

zhutmost commented 2 months ago

In the JetBrains graddle plugin template, the in plugin.xml is generated by the build flow. It will locate the flag in the README.md, and automatically insert the description into the final plugin.xml. The related code in build.graddle.kts is: (Link)

        // Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
        pluginDescription = providers.fileContents(layout.projectDirectory.file("README.md")).asText.map {
            val start = "<!-- Plugin description -->"
            val end = "<!-- Plugin description end -->"

            with (it.lines()) {
                if (!containsAll(listOf(start, end))) {
                    throw GradleException("Plugin description section not found in README.md:\n$start ... $end")
                }
                subList(indexOf(start) + 1, indexOf(end)).joinToString("\n").let(::markdownToHTML)
            }
        }

Please add this feature into this sbt build flow. It is very useful.

unkarjedy commented 2 months ago

It looks like a nice feature, but unfortunately we won't have resources to address it in the nearest future. A PR would be very welcome.