Packages

package metals

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. final class ActiveFiles extends AnyRef

    Keeps track of files that have been "recently active"

    Keeps track of files that have been "recently active"

    Used to ignore file watching events that follow right after textDocument/didSave events.

  2. final case class AggregateSemanticdbs(underlying: List[Semanticdbs]) extends Semanticdbs with Product with Serializable

    Implements TextDocuments trait with a list of underlying implementations.

  3. final class BatchedFunction[A, B] extends (Seq[A]) ⇒ Future[B]

    Helper to batch multiple asynchronous requests and ensure only one request is active at a time.

  4. final class BloopInstall extends Cancelable

    Runs sbt bloopInstall processes.

    Runs sbt bloopInstall processes.

    Handles responsibilities like: - install metals.sbt as a global sbt plugin - launching embedded sbt-launch.jar via system process - reporting client about sbt bloopInstall progress

  5. sealed abstract class BloopInstallResult extends Product with Serializable
  6. final case class BloopProtocol(value: String) extends Product with Serializable
  7. final class BloopServers extends AnyRef

    Establishes a connection with a bloop server.

    Establishes a connection with a bloop server.

    Connects to a running bloop server instance if it is installed on the user machine and has compatible version (+v1.1.0). Ignores the installed bloop server instance if it is v1.0.0.

    Otherwise, if the user doesn't have bloop installed on the machine, uses Coursier to fetch the jars for ch.epfl.scala:bloop-frontend and start a new bloop server using classloading. A bloop server that starts via classloading stops when when the metals server stops. Only metals can access the classloaded server, the user cannot call it from a command-line interface.

    Eventually, this class may be superseded by "BSP connection protocol": https://github.com/scalacenter/bsp/blob/master/docs/bsp.md#bsp-connection-protocol

  8. sealed trait BloopSocket extends Cancelable

    We communicate with Bloop via one of.

    We communicate with Bloop via one of.

    - unix domain sockets (macos/linux) - tcp (current default on Windows) - named pipes (ideal default on Windows)

    This class abstracts over each of these.

  9. final class BspServers extends AnyRef

    Implements BSP server discovery, named "BSP Connection Protocol" in the spec.

    Implements BSP server discovery, named "BSP Connection Protocol" in the spec.

    See https://github.com/scalacenter/bsp/blob/master/docs/bsp.md#bsp-connection-protocol

  10. case class Buffers(map: TrieMap[io.AbsolutePath, String] = TrieMap.empty) extends Product with Serializable

    Manages in-memory text contents of unsaved files in the editor.

  11. sealed abstract class BuildChange extends Product with Serializable
  12. case class BuildServerConnection(workspace: io.AbsolutePath, client: MetalsBuildClient, server: MetalsBuildServer, cancelables: List[Cancelable], initializeResult: InitializeBuildResult, name: String)(implicit ec: ExecutionContext) extends Cancelable with Product with Serializable

    An actively running and initialized BSP connection.

  13. class BuildServerInitializeException extends Exception
  14. final class BuildTargets extends AnyRef

    In-memory cache for looking up build server metadata.

  15. sealed abstract class BuildTool extends Product with Serializable
  16. final class BuildTools extends AnyRef

    Detects what build tool is used in this workspace.

    Detects what build tool is used in this workspace.

    Although we only support a limited set of build tools, knowing what build tool is used in the workspace helps to produce better error for people using unsupported build tools. For example: "Gradle is not supported" instead of "Unsupported build tool".

  17. trait Cancelable extends AnyRef

    A copy of java.io.Closeable that is not auto closeable.

    A copy of java.io.Closeable that is not auto closeable.

    Gives us fine-grained control over when resources are cleaned up.

  18. case class CancelableFuture[T](future: Future[T], cancelable: Cancelable = Cancelable.empty) extends Product with Serializable
  19. class ChosenBuildServers extends AnyRef
  20. case class Classfile(pkg: String, filename: String) extends Product with Serializable
  21. case class Command(id: String, title: String, description: String, arguments: String = "`null`") extends Product with Serializable
  22. case class CompressedPackageIndex(bloom: BloomFilter[CharSequence], memberBytes: Array[Byte]) extends Product with Serializable

    The memory-compressed version of PackageIndex.

    The memory-compressed version of PackageIndex.

    bloom

    the fuzzy search bloom filter for all members of this package.

    memberBytes

    the GZIP compressed bytes representing Array[String] for all members of this package. The members are compressed because the strings consume a lot of memory and most queries only require looking at a few packages. We decompress the members only when a search query matches the bloom filter for this package.

  23. class ConcatSequence extends CharSequence

    A CharSequence which is the concatenation of two strings.

    A CharSequence which is the concatenation of two strings.

    This class is the equivalent of doing string1 + string2 but in constant time and with no copying.

  24. final class ConfiguredLanguageClient extends MetalsLanguageClient

    Delegates requests/notifications to the underlying language client according to the user configuration.

    Delegates requests/notifications to the underlying language client according to the user configuration.

    This wrapper class manages differences in how editors interpret LSP endpoints slightly differently, especially the window/{logMessage,showMessage} notifications. For example, with vim-lsc the messages from window/logMessage are always visible in the UI while in VS Code the logs are hidden by default.

  25. sealed abstract class Confirmation extends AnyRef
  26. final class DefinitionProvider extends AnyRef

    Implements goto definition that works even in code that doesn't parse.

    Implements goto definition that works even in code that doesn't parse.

    Uses token edit-distance to align identifiers in the current open buffer with symbol occurrences from the latest SemanticDB snapshot.

    The implementation logic for converting positions between the latest SemanticDB snapshot and current open buffer is quite hairy. We need to convert positions in both the "source" (where definition request is made) and the "destination" (location of the symbol definition). This requires using token edit distance twice:

    - source: dirty buffer -> snapshot - destination: snapshot -> dirty buffer

  27. case class DefinitionResult(locations: java.util.List[Location], symbol: String, definition: Option[io.AbsolutePath], semanticdb: Option[TextDocument]) extends Product with Serializable
  28. class DelegatingLanguageClient extends MetalsLanguageClient
  29. final class DependencySources extends AnyRef
  30. final class Diagnostics extends AnyRef

    Converts diagnostics from the build server and Scalameta parser into LSP diagnostics.

    Converts diagnostics from the build server and Scalameta parser into LSP diagnostics.

    BSP diagnostics have different semantics from LSP diagnostics with regards to how they are published. BSP diagnostics can be accumulated when reset=false, meaning the client (Metals) is responsible for aggregating multiple build/publishDiagnostics notifications into a single textDocument/publishDiagnostics notification.

    Another challenge is to consolidate syntax errors on every keystroke with type errors on batch compile because positions get stale in batch compile errors as you type new syntax errors. To solve this problem we use token edit distance the same way we support goto definition in stale buffers.

  31. final class DismissedNotifications extends AnyRef
  32. final class Doctor extends AnyRef

    Helps the user figure out what is mis-configured in the build through the "Run doctor" command.

    Helps the user figure out what is mis-configured in the build through the "Run doctor" command.

    At the moment, the doctor only validates that SemanticDB is enabled for all projects.

  33. final case class DocumentSymbolConfig(value: String) extends Product with Serializable
  34. class DocumentSymbolProvider extends AnyRef

    Retrieves all the symbols defined in a document

    Retrieves all the symbols defined in a document

    If the document doesn't parse, we fall back to the latest known snapshot of the document, if present.

  35. final class Embedded extends Cancelable

    Wrapper around software that is embedded with Metals.

    Wrapper around software that is embedded with Metals.

    - sbt-launch.jar - bloop.py - ch.epfl.scala:bloop-frontend

  36. sealed trait EmptyResult extends AnyRef
  37. final case class ExecuteClientCommandConfig(value: String) extends Product with Serializable
  38. final class FileSystemSemanticdbs extends Semanticdbs

    Reads SemanticDBs from disk that are produces by the semanticdb-scalac compiler plugin.

  39. final class FileWatcher extends Cancelable

    Handles file watching of interesting files in this build.

    Handles file watching of interesting files in this build.

    Tries to minimize file events by dynamically watching only relevant directories for the structure of the build. We don't use the LSP dynamic file watcher capability because

    1. the glob syntax is not defined in the LSP spec making it difficult to deliver a consistent file watching experience with all editor clients on all operating systems. 2. we may have a lot of file watching events and it's presumably less overhead to get the notifications directly from the OS instead of through the editor via LSP.

    Given we rely on file watching for critical functionality like Goto Definition and it's really difficult to reproduce/investigate file watching issues, I think it's best to have a single file watching solution that we have control over.

    This class does not watch for changes in *.sbt files in the workspace directory and in the project/. Those notifications are nice-to-have, but not critical. The library we are using https://github.com/gmethvin/directory-watcher only supports recursive directory meaning we would have to watch the workspace directory, resulting in a LOT of redundant file events. Editors are free to send workspace/didChangedWatchedFiles notifications for these directories.

  40. final class FormattingProvider extends Cancelable

    Implement text formatting using Scalafmt

  41. final class ForwardingMetalsBuildClient extends MetalsBuildClient with Cancelable

    A build client that forwards notifications from the build server to the language client.

  42. final class HtmlBuilder extends AnyRef

    A string builder with helper methods for rendering HTML.

    A string builder with helper methods for rendering HTML.

    We don't use a library like Scalatags because we are trying to keep the number of external Scala dependencies low.

  43. abstract class Icons extends AnyRef
  44. case class ImportedBuild(workspaceBuildTargets: WorkspaceBuildTargetsResult, scalacOptions: ScalacOptionsResult, sources: SourcesResult, dependencySources: DependencySourcesResult) extends Product with Serializable

    Metadata that we import from the build tool via BSP.

  45. final class InteractiveSemanticdbs extends Cancelable with Semanticdbs

    Produces SemanticDBs on-demand by using the presentation compiler.

    Produces SemanticDBs on-demand by using the presentation compiler.

    Only used to provide navigation inside external library sources, not used to compile workspace sources.

    Uses persistent storage to keep track of what external source file is associated with what build target (to determine classpath and compiler options).

  46. class MatchingToken extends AnyRef

    A pair of tokens that align with each other across two different files

  47. class Messages extends AnyRef
  48. trait MetalsBuildClient extends AnyRef

    A BSP client interface that uses lsp4j data structures where applicable.

    A BSP client interface that uses lsp4j data structures where applicable.

    Does not extend bsp4j BuildClient to avoid unnecessary converting between identical bsp/lsp data structures and also ignore unused endpoints like build/registerFileWatcher.

  49. trait MetalsBuildServer extends BuildServer with ScalaBuildServer
  50. final class MetalsHttpClient extends MetalsLanguageClient

    Editor client that implement dialogue UIs like window/showMessageRequest.

    Editor client that implement dialogue UIs like window/showMessageRequest.

    Goals:

    - enable editor plugin authors access all functionality within Metals even if the editor plugin only supports a limited set of LSP endpoints.

    Non-goals:

    - Pretty UI, the interface only needs to be functional, not look nice. - Become permanent/primary interface for ordinary users. The end goal is to enable users to interact with Metals from their editor, not via a browser.

    The most popular LSP clients in editors like Vim and Sublime currently have limited support so that endpoints like window/showMessageRequest are ignored, with no workaround for users to interact with the Metals language server. This http client allows users in those editors to trigger server commands and respond to UI dialogues through their browser instead.

  51. final class MetalsHttpServer extends Cancelable

    Http server

  52. case class MetalsInputBoxParams(value: String = null, prompt: String = null, placeholder: String = null, password: java.lang.Boolean = null, ignoreFocusOut: java.lang.Boolean = null, valueSelection: Array[Int] = null) extends Product with Serializable
  53. case class MetalsInputBoxResult(value: String = null, cancelled: java.lang.Boolean = null) extends Product with Serializable
  54. trait MetalsLanguageClient extends LanguageClient
  55. class MetalsLanguageServer extends Cancelable
  56. final case class MetalsServerConfig(bloopProtocol: BloopProtocol = BloopProtocol.default, globSyntax: GlobSyntaxConfig = GlobSyntaxConfig.default, statusBar: StatusBarConfig = StatusBarConfig.default, slowTask: SlowTaskConfig = SlowTaskConfig.default, executeClientCommand: ExecuteClientCommandConfig = ExecuteClientCommandConfig.default, showMessage: ShowMessageConfig = ShowMessageConfig.default, showMessageRequest: ShowMessageRequestConfig = ShowMessageRequestConfig.default, isNoInitialized: Boolean = ..., isExitOnShutdown: Boolean = ..., isHttpEnabled: Boolean = ..., isInputBoxEnabled: Boolean = ..., isVerbose: Boolean = ..., isAutoServer: Boolean = ..., isWarningsEnabled: Boolean = ..., icons: Icons = Icons.default, statistics: StatisticsConfig = StatisticsConfig.default) extends Product with Serializable

    Configuration parameters for the Metals language server.

    Configuration parameters for the Metals language server.

    bloopProtocol

    the protocol to communicate with Bloop.

    statusBar

    how to handle metals/status notifications.

    slowTask

    how to handle metals/slowTask requests.

    showMessage

    how to handle window/showMessage notifications.

    showMessageRequest

    how to handle window/showMessageRequest requests.

    isNoInitialized

    set true if the editor client doesn't call the initialized notification for some reason, see https://github.com/natebosch/vim-lsc/issues/113

    isHttpEnabled

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

    icons

    what icon set to use for messages.

  57. case class MetalsSlowTaskParams(message: String) extends Product with Serializable
  58. case class MetalsSlowTaskResult(cancel: Boolean) extends Product with Serializable
  59. case class MetalsStatusParams(text: String, show: java.lang.Boolean = null, hide: java.lang.Boolean = null, tooltip: String = null, command: String = null) extends Product with Serializable

    Arguments for the metals/status notification.

    Arguments for the metals/status notification.

    text

    The text to display in the status bar.

    show

    if true, show the status bar.

    hide

    if true, hide the status bar.

    tooltip

    optional display this message when the user hovers over the status bar item.

    command

    optional command that the client should trigger when the user clicks on the status bar item.

  60. final class MutableCancelable extends Cancelable

    Open collection of cancelables that should cancel together

  61. final class MutableMd5Fingerprints extends Md5Fingerprints
  62. case class NonZeroExitCode(statusCode: Int) extends Exception with Product with Serializable
  63. class PackageIndex extends AnyRef

    An index to lookup classfiles contained in a given classpath.

  64. abstract class ProgressTicks extends AnyRef
  65. class QuietInputStream extends FilterInputStream

    A delegate input stream that gracefully fails when the underlying stream is closed.

    A delegate input stream that gracefully fails when the underlying stream is closed.

    This class exists to suppress lsp4j logs like this:

      WARNING: Failed to send notification message.
    org.eclipse.lsp4j.jsonrpc.JsonRpcException: java.io.IOException: Stream Closed
    	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:72)
    	at org.eclipse.lsp4j.jsonrpc.Launcher$Builder.lambda$wrapMessageConsumer$0(Launcher.java:312)
    	at or
  66. class QuietOutputStream extends FilterOutputStream

    A delegate output stream that gracefully fails when the underlying stream is closed.

    A delegate output stream that gracefully fails when the underlying stream is closed.

    This class exists to suppress lsp4j logs like this:

      WARNING: Failed to send notification message.
    org.eclipse.lsp4j.jsonrpc.JsonRpcException: java.io.IOException: Stream Closed
    	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageConsumer.consume(StreamMessageConsumer.java:72)
    	at org.eclipse.lsp4j.jsonrpc.Launcher$Builder.lambda$wrapMessageConsumer$0(Launcher.java:312)
    	at or
  67. final class ReferenceProvider extends AnyRef
  68. case class ReferencesResult(symbol: String, locations: Seq[Location]) extends Product with Serializable
  69. case class ResolvedSymbolOccurrence(distance: TokenEditDistance, occurrence: Option[SymbolOccurrence]) extends Product with Serializable

    A symbol occurrence that appeared with the given edit distance

  70. case class SbtDigest(md5: String, status: Status, millis: Long) extends Product with Serializable
  71. final class SbtDigests extends AnyRef

    Wrapper around the sbt_digest sql table.

  72. case class ScalaTarget(info: BuildTarget, scalac: ScalacOptionsItem) extends Product with Serializable
  73. case class SemanticdbDefinition(info: SymbolInformation, occ: SymbolOccurrence, owner: String) extends Product with Serializable

    A definition of a global symbol produced by mtags.

  74. final case class ShowMessageConfig(value: String) extends Product with Serializable
  75. final case class ShowMessageRequestConfig(value: String) extends Product with Serializable
  76. final case class SlowTaskConfig(value: String) extends Product with Serializable
  77. final case class StatisticsConfig(value: String) extends Product with Serializable
  78. final class StatusBar extends Cancelable

    Manages sending metals/status notifications to the editor client.

    Manages sending metals/status notifications to the editor client.

    Some design constraints and design decisions: - we should publish no more than status update per second so the user has time to read the notification. - there is only one active status bar notification at each time, in case there are multiple candidates we pick the item with higher priority. - it's acceptable that a low priority notification may never appear in the status bar. - long-running jobs like compilation or "import workspace" are active as long as the attached Future[_] is not completed.

  79. final case class StatusBarConfig(value: String) extends Product with Serializable
  80. final class Tables extends Cancelable
  81. class TaskProgress extends AnyRef

    Denotes how much of a task has been completed.

  82. trait Time extends AnyRef

    Wrapper around System.nanoTime to allow easier testing.

  83. case class Timed[T](value: T, timer: Timer) extends Product with Serializable
  84. class Timer extends AnyRef
  85. final class TokenEditDistance extends AnyRef

    Helper to map between position between two similar strings.

  86. final class Trees extends AnyRef

    Manages parsing of Scala source files into Scalameta syntax trees.

    Manages parsing of Scala source files into Scalameta syntax trees.

    - provides the latest good Scalameta tree for a given source file similar as Buffers provides the current text content. - publishes diagnostics for syntax errors.

  87. class TrigramSubstrings extends Traversable[String]

    Returns all possible substrings of length 3 for the given string.

  88. case class UserConfiguration(javaHome: Option[String] = None, sbtScript: Option[String] = None, scalafmtConfigPath: meta.RelativePath = ...) extends Product with Serializable

    Configuration that the user can override via workspace/didChangeConfiguration.

    Configuration that the user can override via workspace/didChangeConfiguration.

    javaHome

    The Java home location used to detect src.zip for JDK sources.

  89. case class UserConfigurationOption(key: String, default: String, example: String, title: String, description: String) extends Product with Serializable

    A setting that users can configure via LSP workspace/didChangeConfiguration.

    A setting that users can configure via LSP workspace/didChangeConfiguration.

    See also

    UserConfiguration.options for available options.

  90. final class Warnings extends AnyRef

    A helper to construct clear and actionable warning messages.

  91. final class WorkspaceSymbolProvider extends AnyRef

    Implements workspace/symbol for both workspace sources and dependency classpath.

  92. case class WorkspaceSymbolQuery(query: String, alternatives: Array[AlternativeQuery], isTrailingDot: Boolean) extends Product with Serializable

    A query for workspace/symbol.

    A query for workspace/symbol.

    query

    the user query itself.

    alternatives

    all query alternatives for this query. For non-lowercase queries this list has always length 1 but for all-lowercase queries we have combinations of query with guesses for which characters in the query should be capitalized.

Value Members

  1. object BatchedFunction
  2. object BinarySearch
  3. object BloomFilters
  4. object BloopInstall
  5. object BloopInstallResult extends Serializable
  6. object BloopProtocol extends Serializable
  7. object BloopServers
  8. object BloopSocket
  9. object BspServers
  10. object BuildChange extends Serializable
  11. object BuildInfo extends Product with Serializable

    This object was generated by sbt-buildinfo.

  12. object BuildServerConnection extends Serializable
  13. object BuildTargets
  14. object BuildTool extends Serializable
  15. object Cancelable
  16. object ClientCommands

    Optional commands that metals expects the client to implement.

  17. object Compression
  18. object Configs
  19. object Confirmation
  20. object Debug

    Small utilities that are helpful for println debugging.

  21. object DefinitionResult extends Serializable
  22. object DidFocusResult extends Enumeration
  23. object Directories
  24. object DocumentSymbolConfig extends Serializable
  25. object Embedded
  26. object EmptyResult
  27. object ExecuteClientCommandConfig extends Serializable
  28. object Fuzzy

    Metals fuzzy search for strings.

    Metals fuzzy search for strings.

    Goals: - predictable, the user should understand why particular results matched a given query. When the search is too fuzzy the results become noisy and the user has little control over how to narrow the results. - fast, we perform fuzzy search on a lot of string in critical paths on ever user keystroke. We avoid allocations and backtracking when possible even if it comes at the price of less readable code.

    The following pairs of (query, symbol) match. - InStr java/io/InputFileStream# - IFS java/io/InputFileStream# - i.InStr java/io/InputFileStream# - j.i.InStr java/io/InputFileStream# - M.Entry java/util/Map#Entry# (inner classes are like packages)

    The following pairs of (query, symbol) do not match. - IpStr java/io/InputFileStream# (missing leading n before p) - instr java/io/InputFileStream# (lowercase queries are exact, WorkspaceSymbolProvider works around this limitation by guessing multiple capitalizations of all-lowercase queries) - MapEntry java/io/InputFileStream# (missing . separator after "Map") - j.InStr java/io/InputFileStream# (missing io separator, the java/ package must be direct parent)

    Glossary and conventions used in this file: - query, what the user typed to look up a symbol. - symbol, a SemanticDB Java/Scala symbol (https://scalameta.org/docs/semanticdb/specification.html) or a java.util.zip.ZipEntry name pointing to a classfile. - delimiter, one of the characters '.' or '/' or '#' that separate package/class/object/trait names in SemanticDB symbols, or '$' that separates inner classes in classfile names. - name, characters between delimiters like "io" in "java/io/InputStream". - main name, the last name in the query or symbol. For example, "Pos" is the main name in "s.m.Pos". - qa, the start index in the query string. - qb, the end index in the query string. - sa, the start index in the symbol string. - sb, the end index in the symbol string.

  29. object GlobalTrace

    Manages JSON-RPC tracing of incoming/outgoing messages via BSP and LSP.

  30. object Icons
  31. object JavaBinary
  32. object JdbcEnrichments
  33. object JdkSources

    Locates zip file on disk that contains the source code for the JDK.

  34. object JvmOpts

    Support for the .jvmopts file loaded by the sbt launcher script as alternative to command line options.

  35. object LanguageClientLogger extends Writer

    Scribe logging handler that forwards logging messages to the LSP editor client.

  36. object Memory
  37. object Messages extends Messages

    Constants for requests/dialogues via LSP window/showMessage and window/showMessageRequest.

  38. object MetalsEnrichments extends DecorateAsJava with DecorateAsScala

    One stop shop for all extension methods that are used in the metals build.

    One stop shop for all extension methods that are used in the metals build.

    Usage:

    import scala.meta.internal.metals.MetalsEnrichments._
    List(1).asJava
    Future(1).asJava
    // ...

    Includes the following converters from the standard library:

    import scala.compat.java8.FutureConverters._
    import scala.collection.JavaConverters._

    If this doesn't scale because we have too many unrelated extension methods then we can split this up, but for now it's really convenient to have to remember only one import.

  39. object MetalsHttpServer
  40. object MetalsLogger
  41. object MetalsServerConfig extends Serializable
  42. object NoopLanguageClient extends MetalsLanguageClient

    A language client that ignores all requests.

    A language client that ignores all requests.

    Used during shutdown procedure to ensure no status bar updates or log messages are published during shutdown.

  43. object PositionSyntax
  44. object ProgressTicks
  45. object RecursivelyDelete
  46. object ReferencesResult extends Serializable
  47. object SbtDigest extends Serializable
  48. object SbtOpts

    Support for the .sbtopts file loaded by the sbt launcher script as alternative to command line options.

  49. object SbtVersion
  50. object ScalaVersions
  51. object SemanticdbDefinition extends Serializable
  52. object ServerCommands

    LSP commands supported by the Metals language server.

  53. object ShowMessageConfig extends Serializable
  54. object ShowMessageRequestConfig extends Serializable
  55. object SlowTaskConfig extends Serializable
  56. object StatisticsConfig extends Serializable
  57. object StatusBarConfig extends Serializable
  58. object StringCase
  59. object Synthetics

    Utilities to work with SemanticDB synthetics.

  60. object TaskProgress
  61. object Time
  62. object Timed extends Serializable
  63. object Timer
  64. object TokenEditDistance
  65. object TrigramSubstrings
  66. object Urls
  67. object UserConfiguration extends Serializable
  68. object WorkspaceSymbolProvider
  69. object WorkspaceSymbolQuery extends Serializable

Ungrouped