Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ vscode-mozuku/bin/
vscode-mozuku/metadata.json
dist/
.cache/
.metals/
*.o
*.so
*.dylib
Expand Down
7 changes: 7 additions & 0 deletions idea-mozuku/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.DS_Store
.gradle
.idea
.intellijPlatform
.kotlin
.qodana
build
2 changes: 2 additions & 0 deletions idea-mozuku/.scalafmt.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
version = 3.10.7
runner.dialect = scala3
12 changes: 12 additions & 0 deletions idea-mozuku/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# MoZuku for IntelliJ

<!-- Plugin description -->
IntelliJ IDEA から MoZuku LSP を利用するためのプラグインです。
既存の `mozuku-lsp` バイナリを起動し、日本語文書や各種ソースコード中の日本語コメントに対して診断とセマンティックハイライトを提供します。
<!-- Plugin description end -->

MoZuku LSP 本体はプラグインに同梱していないため、以下のいずれかで `mozuku-lsp` を参照できる必要があります。

- `Settings | Tools | MoZuku` の `Server path`
- `MOZUKU_LSP` 環境変数
- `PATH` や標準的なインストール先
75 changes: 75 additions & 0 deletions idea-mozuku/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
plugins {
id("java")
id("scala")
alias(libs.plugins.intelliJPlatform)
}

group = providers.gradleProperty("pluginGroup").get()
version = providers.gradleProperty("pluginVersion").get()

java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}

repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}

dependencies {
implementation(libs.scala3Library)

intellijPlatform {
intellijIdea(providers.gradleProperty("platformVersion"))
bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') })
plugins(providers.gradleProperty("platformPlugins").map { it.split(',') })
bundledModules(providers.gradleProperty("platformBundledModules").map { it.split(',') })
}
}

intellijPlatform {
pluginConfiguration {
name = providers.gradleProperty("pluginName")
version = providers.gradleProperty("pluginVersion")

description = providers.fileContents(layout.projectDirectory.file("README.md")).asText.map { readme ->
val start = "<!-- Plugin description -->"
val end = "<!-- Plugin description end -->"
val lines = readme.lines()
if (!lines.contains(start) || !lines.contains(end)) {
throw GradleException("Plugin description section not found in README.md")
}
lines.subList(lines.indexOf(start) + 1, lines.indexOf(end)).joinToString("\n")
}

changeNotes = providers.provider { "Initial IntelliJ support for MoZuku LSP." }

ideaVersion {
sinceBuild = providers.gradleProperty("pluginSinceBuild")
}
}

signing {
certificateChain = providers.environmentVariable("CERTIFICATE_CHAIN")
privateKey = providers.environmentVariable("PRIVATE_KEY")
password = providers.environmentVariable("PRIVATE_KEY_PASSWORD")
}

publishing {
token = providers.environmentVariable("PUBLISH_TOKEN")
}
}

tasks {
wrapper {
gradleVersion = providers.gradleProperty("gradleVersion").get()
}

buildSearchableOptions {
enabled = false
}
}
16 changes: 16 additions & 0 deletions idea-mozuku/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
pluginGroup = dev.t3tra.mozuku.idea
pluginName = MoZuku
pluginRepositoryUrl = https://github.com/t3tra-dev/MoZuku
pluginVersion = 0.1.0

pluginSinceBuild = 252
platformVersion = 2025.2.6.1

platformPlugins =
platformBundledPlugins =
platformBundledModules =

gradleVersion = 9.4.1

org.gradle.configuration-cache = true
org.gradle.caching = true
9 changes: 9 additions & 0 deletions idea-mozuku/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[versions]
scala3 = "3.3.6"
intelliJPlatform = "2.13.1"

[libraries]
scala3Library = { group = "org.scala-lang", name = "scala3-library_3", version.ref = "scala3" }

[plugins]
intelliJPlatform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" }
Binary file added idea-mozuku/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions idea-mozuku/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
248 changes: 248 additions & 0 deletions idea-mozuku/gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading