=============================================================================== 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. g:ale_scala_metals_executable *g:ale_scala_metals_executable* *b:ale_scala_metals_executable* Type: |String| Default: `'metals-vim'` Override the invoked `metals` binary. g:ale_scala_metals_project_root *g:ale_scala_metals_project_root* *b:ale_scala_metals_project_root* Type: |String| Default: `''` By default the project root is found by searching upwards for `build.sbt`, `build.sc`, `.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` g:ale_scala_sbtserver_address *g:ale_scala_sbtserver_address* *b: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. g:ale_scala_sbtserver_project_root *g:ale_scala_sbtserver_project_root* *b: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' g:ale_scala_scalafmt_executable *g:ale_scala_scalafmt_executable* *b:ale_scala_scalafmt_executable* Type: |String| Default: `'scalafmt'` Override the invoked `scalafmt` binary. This is useful for running `scalafmt` with Nailgun. g:ale_scala_scalafmt_options *g:ale_scala_scalafmt_options* *b: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. g:ale_scala_scalastyle_config *g:ale_scala_scalastyle_config* *b: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. g:ale_scala_scalastyle_options *g:ale_scala_scalastyle_options* *b: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: