Files
ale/doc/ale-scala.txt
Woshiluo Luo 822d9a1bf3
Some checks failed
CI / build_image (push) Has been cancelled
CI / test_ale (--linters-only) (push) Has been cancelled
CI / test_ale (--lua-only) (push) Has been cancelled
CI / test_ale (--neovim-07-only) (push) Has been cancelled
CI / test_ale (--neovim-08-only) (push) Has been cancelled
CI / test_ale (--vim-80-only) (push) Has been cancelled
CI / test_ale (--vim-90-only) (push) Has been cancelled
linter/scala/metals: add build.mill as project root detect file (#5012)
Signed-off-by: Woshiluo Luo <woshiluo.luo@outlook.com>
2025-08-13 15:58:33 +00:00

147 lines
5.9 KiB
Plaintext

===============================================================================
ALE Scala Integration *ale-scala-options*
===============================================================================
cspell *ale-scala-cspell*
See |ale-cspell-options|
===============================================================================
metals *ale-scala-metals*
`metals` requires either an SBT project, a Mill project, or a running Bloop
server.
*ale-options.scala_metals_executable*
*g:ale_scala_metals_executable*
*b:ale_scala_metals_executable*
scala_metals_executable
g:ale_scala_metals_executable
Type: |String|
Default: `'metals-vim'`
Override the invoked `metals` binary.
*ale-options.scala_metals_project_root*
*g:ale_scala_metals_project_root*
*b:ale_scala_metals_project_root*
scala_metals_project_root
g:ale_scala_metals_project_root
Type: |String|
Default: `''`
By default the project root is found by searching upwards for `build.sbt`,
`build.sc`, `build.mill`, `.bloop` or `.metals`. If the project root is elsewhere,
you can override the project root directory.
===============================================================================
sbtserver *ale-scala-sbtserver*
`sbtserver` requires a running ^1.1.x sbt shell to connect to. It will attempt
to connect via TCP to the address defined in `g:ale_scala_sbtserver_address`.
As `sbt` defaults to listening via unix sockets, place these settings into
your `~/.sbt/1.0/global.sbt` to ensure that ale will always attempt to connect
to the right socket:
`serverConnectionType := ConnectionType.Tcp` and `serverPort := 4273`
*ale-options.scala_sbtserver_address*
*g:ale_scala_sbtserver_address*
*b:ale_scala_sbtserver_address*
scala_sbtserver_address
g:ale_scala_sbtserver_address
Type: |String|
Default: `'127.0.0.1:4273'`
By default the address is found by parsing `active.json`, however, reading a
file is a blocking operation which should be avoided in ale. The easy way
around this is to configure sbt to always connect to the same port, which
the instructions above describe.
*ale-options.scala_sbtserver_project_root*
*g:ale_scala_sbtserver_project_root*
*b:ale_scala_sbtserver_project_root*
scala_sbtserver_project_root
g:ale_scala_sbtserver_project_root
Type: |String|
Default: `''`
By default the project root is found by searching upwards for `build.sbt`.
If the project root is elsewhere, you can override the project root
directory.
===============================================================================
scalafmt *ale-scala-scalafmt*
If Nailgun is used, override `g:ale_scala_scalafmt_executable` like so: >
let g:ale_scala_scalafmt_executable = 'ng'
<
*ale-options.scala_scalafmt_executable*
*g:ale_scala_scalafmt_executable*
*b:ale_scala_scalafmt_executable*
scala_scalafmt_executable
g:ale_scala_scalafmt_executable
Type: |String|
Default: `'scalafmt'`
Override the invoked `scalafmt` binary. This is useful for running `scalafmt`
with Nailgun.
*ale-options.scala_scalafmt_options*
*g:ale_scala_scalafmt_options*
*b:ale_scala_scalafmt_options*
scala_scalafmt_options
g:ale_scala_scalafmt_options
Type: |String|
Default: `''`
A string containing additional options to pass to `'scalafmt'`, or
`'ng scalafmt'` if Nailgun is used.
===============================================================================
scalastyle *ale-scala-scalastyle*
`scalastyle` requires a configuration file for a project to run. When no
configuration file can be found, ALE will report a problem saying that a
configuration file is required at line 1.
To disable `scalastyle` globally, use |g:ale_linters| like so: >
let g:ale_linters = {'scala': ['scalac']} " Enable only scalac instead
<
See |g:ale_linters| for more information on disabling linters.
*ale-options.scala_scalastyle_config*
*g:ale_scala_scalastyle_config*
*b:ale_scala_scalastyle_config*
scala_scalastyle_config
g:ale_scala_scalastyle_config
Type: |String|
Default: `''`
A string containing the location of a global fallback configuration file.
By default, ALE will look for a configuration file named
`scalastyle_config.xml` or `scalastyle-config.xml` in the current file's
directory or parent directories.
*ale-options.scala_scalastyle_options*
*g:ale_scala_scalastyle_options*
*b:ale_scala_scalastyle_options*
scala_scalastyle_options
g:ale_scala_scalastyle_options
Type: |String|
Default: `''`
A string containing additional options to pass to scalastyle.
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: