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)) 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))

    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. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. val executeClientCommand: ExecuteClientCommandConfig
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  15. val globSyntax: GlobSyntaxConfig
  16. val icons: Icons
  17. val isExitOnShutdown: Boolean
  18. val isHttpEnabled: Boolean
  19. val isInputBoxEnabled: Boolean
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. val isVerbose: Boolean
  22. val loglevel: String
  23. val macOsMaxWatchRoots: Int
  24. val maxLogBackups: Int
  25. val maxLogFileSize: Long
  26. val metalsToIdleTime: Duration
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  30. val openFilesOnRenames: Boolean
  31. val pingInterval: Duration
  32. def productElementNames: Iterator[String]
    Definition Classes
    Product
  33. val renameFileThreshold: Int
  34. val snippetAutoIndent: Boolean
  35. val statistics: StatisticsConfig
  36. val statusBar: StatusBarConfig
  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. def toString(): String
    Definition Classes
    MetalsServerConfig → AnyRef → Any
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  41. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  42. 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