@@ -141,7 +141,7 @@ <h2><a class="anchor" aria-hidden="true" id="sbt"></a><a href="#sbt" aria-hidden
141
141
< p > Latest published version of the sbt plugin:
142
142
< a href ="https://index.scala-lang.org/scalameta/sbt-scalafmt/sbt-scalafmt "> < img src ="https://index.scala-lang.org/scalameta/sbt-scalafmt/sbt-scalafmt/latest.svg " alt ="sbt-scalafmt Scala version support "> </ a > </ p >
143
143
< p > To configure the scalafmt version add the following line into < code > .scalafmt.conf</ code > :</ p >
144
- < pre > < code class ="hljs "> version = < span class ="hljs-number "> 3.8</ span > < span class ="hljs-number "> .5 </ span >
144
+ < pre > < code class ="hljs "> version = < span class ="hljs-number "> 3.8</ span > < span class ="hljs-number "> .6 </ span >
145
145
</ code > </ pre >
146
146
< h3 > < a class ="anchor " aria-hidden ="true " id ="task-keys "> </ a > < a href ="#task-keys " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > Task keys</ h3 >
147
147
< ul >
@@ -236,22 +236,22 @@ <h4><a class="anchor" aria-hidden="true" id="install"></a><a href="#install" ari
236
236
< a href ="https://get-coursier.io/docs/cli-overview.html#install "> installation</ a >
237
237
of packages, the simplest approach is by running</ p >
238
238
< pre > < code class ="hljs css language-sh "> cs install scalafmt
239
- scalafmt --version < span class ="hljs-comment "> # should be 3.8.5 </ span >
239
+ scalafmt --version < span class ="hljs-comment "> # should be 3.8.6 </ span >
240
240
</ code > </ pre >
241
241
< h4 > < a class ="anchor " aria-hidden ="true " id ="standalone "> </ a > < a href ="#standalone " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > standalone</ h4 >
242
242
< p > Alternatively, you can create a complete standalone executable (40+ MB in 2022) with:</ p >
243
- < pre > < code class ="hljs css language-sh "> coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.8.5 \
243
+ < pre > < code class ="hljs css language-sh "> coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.8.6 \
244
244
-r sonatype:snapshots --main org.scalafmt.cli.Cli \
245
245
--standalone \
246
246
-o scalafmt
247
- ./scalafmt --version < span class ="hljs-comment "> # should be 3.8.5 </ span >
247
+ ./scalafmt --version < span class ="hljs-comment "> # should be 3.8.6 </ span >
248
248
</ code > </ pre >
249
249
< h4 > < a class ="anchor " aria-hidden ="true " id ="slim "> </ a > < a href ="#slim " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > slim</ h4 >
250
250
< p > Finally, you can choose to obtain a slim bootstrap script (100+ KB in 2022) instead with:</ p >
251
- < pre > < code class ="hljs css language-sh "> coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.8.5 \
251
+ < pre > < code class ="hljs css language-sh "> coursier bootstrap org.scalameta:scalafmt-cli_2.13:3.8.6 \
252
252
-r sonatype:snapshots --main org.scalafmt.cli.Cli \
253
253
-o scalafmt
254
- ./scalafmt --version < span class ="hljs-comment "> # should be 3.8.5 </ span >
254
+ ./scalafmt --version < span class ="hljs-comment "> # should be 3.8.6 </ span >
255
255
</ code > </ pre >
256
256
< p > If a < code > version</ code > is defined in < code > .scalafmt.conf</ code > , the CLI binary will honor it
257
257
by automatically resolving and downloading the corresponding artifacts if it
@@ -265,7 +265,7 @@ <h4><a class="anchor" aria-hidden="true" id="slim"></a><a href="#slim" aria-hidd
265
265
</ code > </ pre >
266
266
< h3 > < a class ="anchor " aria-hidden ="true " id ="pre-release "> </ a > < a href ="#pre-release " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > Pre-release</ h3 >
267
267
< p > Our CI publishes a pre-release version of scalafmt to Sonatype Snapshots on
268
- every merge into master. To use a pre-release, replace 3.8.5 with the
268
+ every merge into master. To use a pre-release, replace 3.8.6 with the
269
269
version here:</ p >
270
270
< p > < a href ="https://oss.sonatype.org/content/repositories/snapshots/org/scalameta/scalafmt-cli_2.12/ "> < img src ="https://img.shields.io/nexus/s/https/oss.sonatype.org/org.scalameta/scalafmt-cli_2.12.svg " alt ="Sonatype Snapshots "> </ a > </ p >
271
271
< p > If you use coursier to install a pre-release, be sure to include the flag
@@ -276,11 +276,11 @@ <h3><a class="anchor" aria-hidden="true" id="pre-release"></a><a href="#pre-rele
276
276
< h3 > < a class ="anchor " aria-hidden ="true " id ="native-image "> </ a > < a href ="#native-image " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > Native image</ h3 >
277
277
< p > For macOS and Linux, it's possible to download pre-built GraalVm native binaries
278
278
with instant startup and fast performance for short-lived Scalafmt runs.</ p >
279
- < pre > < code class ="hljs css language-sh "> VERSION=3.8.5
279
+ < pre > < code class ="hljs css language-sh "> VERSION=3.8.6
280
280
INSTALL_LOCATION=/usr/< span class ="hljs-built_in "> local</ span > /bin/scalafmt-native
281
281
curl https://raw.githubusercontent.com/scalameta/scalafmt/master/bin/install-scalafmt-native.sh | \
282
282
bash -s -- < span class ="hljs-variable "> $VERSION</ span > < span class ="hljs-variable "> $INSTALL_LOCATION</ span >
283
- scalafmt-native --< span class ="hljs-built_in "> help</ span > < span class ="hljs-comment "> # should show version 3.8.5 </ span >
283
+ scalafmt-native --< span class ="hljs-built_in "> help</ span > < span class ="hljs-comment "> # should show version 3.8.6 </ span >
284
284
</ code > </ pre >
285
285
< blockquote >
286
286
< p > The native image binaries have the limitation of working only with one version
@@ -300,12 +300,12 @@ <h3><a class="anchor" aria-hidden="true" id="nailgun"></a><a href="#nailgun" ari
300
300
< li > Create a standalone executable in < code > /usr/local/bin/scalafmt_ng</ code > with (sudo if
301
301
necessary)</ li >
302
302
</ ul >
303
- < pre > < code class ="hljs css language-sh "> coursier bootstrap --standalone org.scalameta:scalafmt-cli_2.13:3.8.5 \
303
+ < pre > < code class ="hljs css language-sh "> coursier bootstrap --standalone org.scalameta:scalafmt-cli_2.13:3.8.6 \
304
304
-r sonatype:snapshots -f --main com.martiansoftware.nailgun.NGServer \
305
305
-o /usr/< span class ="hljs-built_in "> local</ span > /bin/scalafmt_ng
306
306
scalafmt_ng & // start nailgun < span class ="hljs-keyword "> in</ span > background
307
307
ng ng-alias scalafmt org.scalafmt.cli.Cli
308
- ng scalafmt --version < span class ="hljs-comment "> # should be 3.8.5 </ span >
308
+ ng scalafmt --version < span class ="hljs-comment "> # should be 3.8.6 </ span >
309
309
</ code > </ pre >
310
310
< p > Nailgun keeps scalafmt running on a local server to avoid the JVM startup
311
311
penalty and also so scalafmt can benefit from JIT. This makes scalafmt up to 10x
@@ -317,7 +317,7 @@ <h3><a class="anchor" aria-hidden="true" id="homebrew"></a><a href="#homebrew" a
317
317
< a href ="#coursier "> Coursier</ a > , itself available via Homebrew.</ p >
318
318
< pre > < code class ="hljs css language-sh "> brew install coursier/formulas/coursier
319
319
coursier install scalafmt
320
- scalafmt --version // should be 3.8.5
320
+ scalafmt --version // should be 3.8.6
321
321
</ code > </ pre >
322
322
< p > If necessary, make sure to follow the Coursier instructions for updating
323
323
< code > $PATH</ code > so that the < code > scalafmt</ code > binary becomes available in your terminal.</ p >
@@ -327,13 +327,13 @@ <h3><a class="anchor" aria-hidden="true" id="arch-linux"></a><a href="#arch-linu
327
327
package that installs scalafmt binary built with GraalVM. GraalVM native binary
328
328
provides instant startup without Nailgun.</ p >
329
329
< pre > < code class ="hljs css language-sh "> yaourt -S scalafmt-native-bin
330
- scalafmt --version // should be 3.8.5
330
+ scalafmt --version // should be 3.8.6
331
331
</ code > </ pre >
332
332
< h3 > < a class ="anchor " aria-hidden ="true " id ="--help "> </ a > < a href ="#--help " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > --help</ h3 >
333
333
< pre > < code class ="hljs "> build commit: < span class ="hljs-number "> 08431</ span > bb1be11f0b801ad5a78e5fd4025bc62064d
334
- build time: Thu Jan < span class ="hljs-number "> 23</ span > < span class ="hljs-number "> 16 </ span > :< span class ="hljs-number "> 56 </ span > :< span class ="hljs-number "> 57 </ span > UTC < span class ="hljs-number "> 2025</ span >
334
+ build time: Thu Jan < span class ="hljs-number "> 23</ span > < span class ="hljs-number "> 17 </ span > :< span class ="hljs-number "> 04 </ span > :< span class ="hljs-number "> 50 </ span > UTC < span class ="hljs-number "> 2025</ span >
335
335
</ code > </ pre >
336
- < pre > < code class ="hljs "> scalafmt 3.8.5+22-08431bb1-SNAPSHOT
336
+ < pre > < code class ="hljs "> scalafmt 3.8.6
337
337
Usage: scalafmt [options] [<< span class ="hljs-keyword "> file</ span > >...]
338
338
339
339
-< span class ="hljs-keyword "> h</ span > , --< span class ="hljs-keyword "> help</ span > prints this usage text
@@ -429,7 +429,7 @@ <h2><a class="anchor" aria-hidden="true" id="mill"></a><a href="#mill" aria-hidd
429
429
</ ul >
430
430
< h2 > < a class ="anchor " aria-hidden ="true " id ="standalone-library "> </ a > < a href ="#standalone-library " aria-hidden ="true " class ="hash-link "> < svg class ="hash-link-icon " aria-hidden ="true " height ="16 " version ="1.1 " viewBox ="0 0 16 16 " width ="16 "> < path fill-rule ="evenodd " d ="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z "> </ path > </ svg > </ a > Standalone library</ h2 >
431
431
< p > Use the < code > scalafmt-dynamic</ code > module to integrate with Scalafmt.</ p >
432
- < pre > < code class ="hljs css language-scala "> libraryDependencies += < span class ="hljs-string "> "org.scalameta"</ span > %% < span class ="hljs-string "> "scalafmt-dynamic"</ span > % < span class ="hljs-string "> "3.8.5 "</ span >
432
+ < pre > < code class ="hljs css language-scala "> libraryDependencies += < span class ="hljs-string "> "org.scalameta"</ span > %% < span class ="hljs-string "> "scalafmt-dynamic"</ span > % < span class ="hljs-string "> "3.8.6 "</ span >
433
433
</ code > </ pre >
434
434
< p > First, create an instance of < code > Scalafmt</ code > and get paths for the file to format
435
435
along with it's configuration file.</ p >
@@ -573,7 +573,7 @@ <h3><a class="anchor" aria-hidden="true" id="calling-from-java"></a><a href="#ca
573
573
< pre > < code class ="hljs css language-xml "> < span class ="hljs-tag "> << span class ="hljs-name "> dependency</ span > ></ span >
574
574
< span class ="hljs-tag "> << span class ="hljs-name "> groupId</ span > ></ span > org.scalameta< span class ="hljs-tag "> </< span class ="hljs-name "> groupId</ span > ></ span >
575
575
< span class ="hljs-tag "> << span class ="hljs-name "> artifactId</ span > ></ span > scalafmt-interfaces< span class ="hljs-tag "> </< span class ="hljs-name "> artifactId</ span > ></ span >
576
- < span class ="hljs-tag "> << span class ="hljs-name "> version</ span > ></ span > 3.8.5 < span class ="hljs-tag "> </< span class ="hljs-name "> version</ span > ></ span >
576
+ < span class ="hljs-tag "> << span class ="hljs-name "> version</ span > ></ span > 3.8.6 < span class ="hljs-tag "> </< span class ="hljs-name "> version</ span > ></ span >
577
577
< span class ="hljs-tag "> </< span class ="hljs-name "> dependency</ span > ></ span >
578
578
</ code > </ pre >
579
579
< p > Next, obtain a classloader with the < code > scalafmt-dynamic_2.12</ code > classpath.</ p >
@@ -584,7 +584,7 @@ <h3><a class="anchor" aria-hidden="true" id="calling-from-java"></a><a href="#ca
584
584
< span class ="hljs-comment "> // ClassLoader that shares only org.scalafmt.interfaces from this classloader.</ span >
585
585
ClassLoader sharedParent = < span class ="hljs-keyword "> new</ span > ScalafmtClassLoader(< span class ="hljs-keyword "> this</ span > .getClass.getClassLoader)
586
586
587
- < span class ="hljs-comment "> // Jars to org.scalameta:scalafmt-dynamic_2.12:3.8.5 classpath. Obtain</ span >
587
+ < span class ="hljs-comment "> // Jars to org.scalameta:scalafmt-dynamic_2.12:3.8.6 classpath. Obtain</ span >
588
588
< span class ="hljs-comment "> // these from your build tool or programmatically with ivy/coursier.</ span >
589
589
URL[] jars = < span class ="hljs-comment "> // ...</ span >
590
590
ClassLoader scalafmtDynamic = < span class ="hljs-keyword "> new</ span > URLClassLoader(jars, sharedParent)
0 commit comments