Packages

final case class MetalsServerConfig(globSyntax: GlobSyntaxConfig = GlobSyntaxConfig.default, statusBar: StatusBarConfig = StatusBarConfig.default, bspStatusBar: StatusBarConfig = StatusBarConfig.bspDefault, executeClientCommand: ExecuteClientCommandConfig = ExecuteClientCommandConfig.default, snippetAutoIndent: Boolean = MetalsServerConfig.binaryOption( "metals.snippet-auto-indent", default = true, ), isExitOnShutdown: Boolean = MetalsServerConfig.binaryOption( "metals.exit-on-shutdown", default = false, ), isHttpEnabled: Boolean = MetalsServerConfig.binaryOption( "metals.http", default = false, ), isInputBoxEnabled: Boolean = MetalsServerConfig.binaryOption( "metals.input-box", default = false, ), isVerbose: Boolean = MetalsServerConfig.binaryOption( "metals.verbose", default = false, ), openFilesOnRenames: Boolean = false, renameFileThreshold: Int = 300, askToReconnect: Boolean = MetalsServerConfig.binaryOption( "metals.ask-to-reconnect", default = false, ), icons: Icons = Icons.fromString(System.getProperty("metals.icons")), statistics: StatisticsConfig = StatisticsConfig.default, compilers: PresentationCompilerConfigImpl = CompilersConfig(), allowMultilineStringFormatting: Boolean = MetalsServerConfig.binaryOption( "metals.allow-multiline-string-formatting", default = true, ), bloopPort: Option[Int] = Option(System.getProperty("metals.bloop-port")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt), macOsMaxWatchRoots: Int = Option(System.getProperty("metals.macos-max-watch-roots")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(32), loglevel: String = sys.props.get("metals.loglevel").map(_.toLowerCase()).getOrElse("info"), maxLogFileSize: Long = Option(System.getProperty("metals.max-logfile-size")) .withFilter(_.forall(Character.isDigit(_))) .map(_.toLong) .getOrElse(3 << 20), maxLogBackups: Int = Option(System.getProperty("metals.max-log-backups")) .withFilter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(10), metalsToIdleTime: Duration = Option(System.getProperty("metals.server-to-idle-time")) .flatMap(opt => Try(Duration(opt)).toOption) .getOrElse(Duration("10m")), pingInterval: Duration = Option(System.getProperty("metals.build-server-ping-interval")) .flatMap(opt => Try(Duration(opt)).toOption) .getOrElse(Duration("1m")), worksheetTimeout: Int = Option(System.getProperty("metals.worksheet-timeout")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(30), debugServerStartTimeout: Int = Option(System.getProperty("metals.debug-server-start-timeout")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(60), enableBestEffort: Boolean = MetalsServerConfig.binaryOption( "metals.enable-best-effort", default = false, )) extends Product with Serializable

Configuration parameters for the Metals language server. While these can be used to configure Metals, it's preferable that instead you configure Metals via InitializationOptions.

globSyntax

pattern used for DidChangeWatchedFilesRegistrationOptions.

statusBar

how to handle metals/status notifications with {"statusType": "metals"}.

bspStatusBar

how to handle metals/status notifications with {"statusType": "bsp"}.

executeClientCommand

whether client provides the ability to support the metals/executeClientCommand command.

snippetAutoIndent

if the client defaults to adding the identation of the reference line that the operation started on (relevant for multiline textEdits)

isExitOnShutdown

whether the client needs Metals to shut down manually on exit.

isHttpEnabled

whether to start the Metals HTTP client interface. This is needed for clients with limited support for UI dialogues that don't implement window/showMessageRequest yet.

isInputBoxEnabled

whether the client supports the metals/inputBox extension.

isVerbose

turn on verbose logging.

openFilesOnRenames

whether or not file should be opened when a rename occurs in an unopened file.

renameFileThreshold

amount of files that should be opened during a rename if the openFilesOnRenames is enabled.

askToReconnect

whether the user should be prompted to reconnect after a BuildServer connection is lost.

icons

what icon set to use for messages.

statistics

if all statistics in Metals should be enabled.

compilers

configuration for the PresentationCompilerConfig.

allowMultilineStringFormatting

whether or not multilineStringFormatting should be turned off. By default this is on, but Metals only supports a small subset of this, so it may be problematic for certain clients.

macOsMaxWatchRoots

The maximum number of root directories to watch on MacOS.

maxLogFileSize

The maximum size of the log file before it gets backed up and truncated.

maxLogBackups

The maximum number of backup log files.

metalsToIdleTime

The time that needs to pass with no action to consider metals as idle.

pingInterval

Interval in which we ping the build server.

Linear Supertypes
java.io.Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MetalsServerConfig
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MetalsServerConfig(globSyntax: GlobSyntaxConfig = GlobSyntaxConfig.default, statusBar: StatusBarConfig = StatusBarConfig.default, bspStatusBar: StatusBarConfig = StatusBarConfig.bspDefault, executeClientCommand: ExecuteClientCommandConfig = ExecuteClientCommandConfig.default, snippetAutoIndent: Boolean = MetalsServerConfig.binaryOption( "metals.snippet-auto-indent", default = true, ), isExitOnShutdown: Boolean = MetalsServerConfig.binaryOption( "metals.exit-on-shutdown", default = false, ), isHttpEnabled: Boolean = MetalsServerConfig.binaryOption( "metals.http", default = false, ), isInputBoxEnabled: Boolean = MetalsServerConfig.binaryOption( "metals.input-box", default = false, ), isVerbose: Boolean = MetalsServerConfig.binaryOption( "metals.verbose", default = false, ), openFilesOnRenames: Boolean = false, renameFileThreshold: Int = 300, askToReconnect: Boolean = MetalsServerConfig.binaryOption( "metals.ask-to-reconnect", default = false, ), icons: Icons = Icons.fromString(System.getProperty("metals.icons")), statistics: StatisticsConfig = StatisticsConfig.default, compilers: PresentationCompilerConfigImpl = CompilersConfig(), allowMultilineStringFormatting: Boolean = MetalsServerConfig.binaryOption( "metals.allow-multiline-string-formatting", default = true, ), bloopPort: Option[Int] = Option(System.getProperty("metals.bloop-port")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt), macOsMaxWatchRoots: Int = Option(System.getProperty("metals.macos-max-watch-roots")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(32), loglevel: String = sys.props.get("metals.loglevel").map(_.toLowerCase()).getOrElse("info"), maxLogFileSize: Long = Option(System.getProperty("metals.max-logfile-size")) .withFilter(_.forall(Character.isDigit(_))) .map(_.toLong) .getOrElse(3 << 20), maxLogBackups: Int = Option(System.getProperty("metals.max-log-backups")) .withFilter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(10), metalsToIdleTime: Duration = Option(System.getProperty("metals.server-to-idle-time")) .flatMap(opt => Try(Duration(opt)).toOption) .getOrElse(Duration("10m")), pingInterval: Duration = Option(System.getProperty("metals.build-server-ping-interval")) .flatMap(opt => Try(Duration(opt)).toOption) .getOrElse(Duration("1m")), worksheetTimeout: Int = Option(System.getProperty("metals.worksheet-timeout")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(30), debugServerStartTimeout: Int = Option(System.getProperty("metals.debug-server-start-timeout")) .filter(_.forall(Character.isDigit(_))) .map(_.toInt) .getOrElse(60), enableBestEffort: Boolean = MetalsServerConfig.binaryOption( "metals.enable-best-effort", default = false, ))

    globSyntax

    pattern used for DidChangeWatchedFilesRegistrationOptions.

    statusBar

    how to handle metals/status notifications with {"statusType": "metals"}.

    bspStatusBar

    how to handle metals/status notifications with {"statusType": "bsp"}.

    executeClientCommand

    whether client provides the ability to support the metals/executeClientCommand command.

    snippetAutoIndent

    if the client defaults to adding the identation of the reference line that the operation started on (relevant for multiline textEdits)

    isExitOnShutdown

    whether the client needs Metals to shut down manually on exit.

    isHttpEnabled

    whether to start the Metals HTTP client interface. This is needed for clients with limited support for UI dialogues that don't implement window/showMessageRequest yet.

    isInputBoxEnabled

    whether the client supports the metals/inputBox extension.

    isVerbose

    turn on verbose logging.

    openFilesOnRenames

    whether or not file should be opened when a rename occurs in an unopened file.

    renameFileThreshold

    amount of files that should be opened during a rename if the openFilesOnRenames is enabled.

    askToReconnect

    whether the user should be prompted to reconnect after a BuildServer connection is lost.

    icons

    what icon set to use for messages.

    statistics

    if all statistics in Metals should be enabled.

    compilers

    configuration for the PresentationCompilerConfig.

    allowMultilineStringFormatting

    whether or not multilineStringFormatting should be turned off. By default this is on, but Metals only supports a small subset of this, so it may be problematic for certain clients.

    macOsMaxWatchRoots

    The maximum number of root directories to watch on MacOS.

    maxLogFileSize

    The maximum size of the log file before it gets backed up and truncated.

    maxLogBackups

    The maximum number of backup log files.

    metalsToIdleTime

    The time that needs to pass with no action to consider metals as idle.

    pingInterval

    Interval in which we ping the build server.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val allowMultilineStringFormatting: Boolean
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val askToReconnect: Boolean
  7. val bloopPort: Option[Int]
  8. val bspStatusBar: StatusBarConfig
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  10. val compilers: PresentationCompilerConfigImpl
  11. val debugServerStartTimeout: Int
  12. val enableBestEffort: Boolean
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. val executeClientCommand: ExecuteClientCommandConfig
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  16. val globSyntax: GlobSyntaxConfig
  17. val icons: Icons
  18. val isExitOnShutdown: Boolean
  19. val isHttpEnabled: Boolean
  20. val isInputBoxEnabled: Boolean
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. val isVerbose: Boolean
  23. val loglevel: String
  24. val macOsMaxWatchRoots: Int
  25. val maxLogBackups: Int
  26. val maxLogFileSize: Long
  27. val metalsToIdleTime: Duration
  28. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  29. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  30. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  31. val openFilesOnRenames: Boolean
  32. val pingInterval: Duration
  33. def productElementNames: Iterator[String]
    Definition Classes
    Product
  34. val renameFileThreshold: Int
  35. val snippetAutoIndent: Boolean
  36. val statistics: StatisticsConfig
  37. val statusBar: StatusBarConfig
  38. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  39. def toString(): String
    Definition Classes
    MetalsServerConfig → AnyRef → Any
  40. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  41. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  42. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  43. val worksheetTimeout: Int

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from java.io.Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped