👋

Scala開発覚書

に公開

参考リンク

この記事について

GitBucket: A Git platformGitBucketのプラグイン開発にあたっての個人的備忘録です。

Coursier で指定したバージョンの JVM 用の環境変数を取得

cs java --jvm 17 --env

表示された結果を実行(コマンドプロンプトの場合)

set CS_FORMER_JAVA_HOME="%JAVA_HOME%"
set "JAVA_HOME=C:\Users\username\AppData\Local\Coursier\cache\arc\https\github.com\adoptium\temurin17-binaries\releases\download\jdk-17.0.15%252B6\OpenJDK17U-jdk_x64_windows_hotspot_17.0.15_6.zip\jdk-17.0.15+6"
set "PATH=C:\Users\username\AppData\Local\Coursier\cache\arc\https\github.com\adoptium\temurin17-binaries\releases\download\jdk-17.0.15%252B6\OpenJDK17U-jdk_x64_windows_hotspot_17.0.15_6.zip\jdk-17.0.15+6\bin;%PATH%"

scala インタープリターの抜け方

:q

コンパイル

sbt compile

依存するライブラリを同梱した jar ファイルの作成

sbt-assembly プラグインが必要

sbt assembly

整形

sbt-scalafmt プラグインが必要

sbt scalafmtAll

最低限必要な設定

project\plugins.sbt へ追記

addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.6")

.scalafmt.conf を作成

version = "3.10.2"
runner.dialect = scala213source3

runner.dialect に指定できる値は、Scala Dialects を参照。

scaladoc

インストール

cs install scaladoc

API ドキュメントの生成

sbt doc

target/scala-version/api 以下に生成される。

継承関係を図で表示したい場合は、Graphvizが必要。

なお、-diagram というオプションは廃止されたようだ。

Markdown のリストを使う際は、他の文章より字下げする

以下のように他の段落と同一のインデントだとうまくリストとして変換されない。

/**
  * Enhanced Node Renderer for Markdown processing.
  *
  * This renderer adds support for:
  * - PlantUML code blocks: Renders PlantUML diagrams from fenced code blocks labeled "plantuml".
  * - WikiLinks: Renders wiki-style links.
  * - Marked text: Renders text wrapped in <mark> tags.
  */

次のように他の文章より字下げする。

/**
  * Enhanced Node Renderer for Markdown processing.
  *
  * This renderer adds support for:
  *  - PlantUML code blocks: Renders PlantUML diagrams from fenced code blocks labeled "plantuml".
  *  - WikiLinks: Renders wiki-style links.
  *  - Marked text: Renders text wrapped in <mark> tags.
  */
GitHubで編集を提案

Discussion