Packages

c

scala.meta.internal.metals

MetalsLspService

abstract class MetalsLspService extends Folder with Cancelable with TextDocumentService

Metals implementation of the Scala Language Service.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MetalsLspService
  2. TextDocumentService
  3. Cancelable
  4. Folder
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MetalsLspService(ec: ExecutionContextExecutorService, sh: ScheduledExecutorService, serverInputs: MetalsServerInputs, languageClient: ConfiguredLanguageClient, initializeParams: InitializeParams, clientConfig: ClientConfiguration, statusBar: StatusBar, focusedDocument: () => Option[io.AbsolutePath], shellRunner: ShellRunner, timerProvider: TimerProvider, folder: io.AbsolutePath, folderVisibleName: Option[String], headDoctor: HeadDoctor, bspStatus: BspStatus, workDoneProgress: WorkDoneProgress, maxScalaCliServers: Int)

    ec

    Execution context used for submitting tasks. This class DO NOT manage the lifecycle of this execution context.

    sh

    Scheduled executor service used for scheduling tasks. This class DO NOT manage the lifecycle of this executor.

    serverInputs

    Collection of different parameters used by Metals for running, which main purpose is allowing for custom behavior in tests.

    initializeParams

    Initialization parameters send by the client in the initialize request, which is the first request sent to the server by the client.

Abstract Value Members

  1. abstract def buildData(): Seq[BuildTool]
    Attributes
    protected
  2. abstract def fileWatcher: FileWatcher
  3. abstract def maybeImportFileAndLoad(path: io.AbsolutePath, load: () => Future[Unit]): Future[Unit]
  4. abstract def onBuildTargetChanges(params: DidChangeBuildTarget): Unit
    Attributes
    protected
  5. abstract def onInitialized(): Future[Unit]
    Attributes
    protected
  6. abstract def pauseables: Pauseable
  7. abstract def projectInfo: MetalsServiceInfo
  8. abstract def semanticdbs(): Semanticdbs
    Attributes
    protected

Concrete 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. def allActionCommandsIds: Set[String]
  5. def analyzeStackTrace(content: String): Option[ExecuteCommandParams]
  6. def applyEdits(uri: String, edits: List[TextEdit]): Future[ApplyWorkspaceEditResponse]
    Attributes
    protected
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val bspErrorHandler: BspErrorHandler
    Attributes
    protected
  9. var bspSession: Option[BspSession]
  10. val buildClient: ForwardingMetalsBuildClient
  11. def buildHasErrors(path: io.AbsolutePath): Boolean
  12. var buildServerPromise: Promise[Unit]
  13. val buildTargetClasses: BuildTargetClasses
    Attributes
    protected
  14. val buildTargets: BuildTargets
  15. val buildToolSelector: BuildToolSelector
    Attributes
    protected
  16. def callHierarchyIncomingCalls(params: CallHierarchyIncomingCallsParams): CompletableFuture[java.util.List[CallHierarchyIncomingCall]]
  17. def callHierarchyOutgoingCalls(params: CallHierarchyOutgoingCallsParams): CompletableFuture[java.util.List[CallHierarchyOutgoingCall]]
  18. val callHierarchyProvider: CallHierarchyProvider
    Attributes
    protected
  19. def cancel(): Unit
    Definition Classes
    MetalsLspServiceCancelable
  20. def cancelCompile(): Future[Unit]
  21. val cancelables: MutableCancelable
    Attributes
    protected
  22. def cascadeCompile(): Future[Unit]
  23. def check(): Unit
    Attributes
    protected
  24. def chooseClass(uri: String, granurality: ClassFinderGranularity): Future[DecoderResponse]
  25. def cleanCompile(): Future[Unit]
  26. def clearBloopDir(folder: io.AbsolutePath): Unit
    Attributes
    protected
  27. def clearFolders(folders: io.AbsolutePath*): Unit
    Attributes
    protected
  28. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  29. def codeAction(params: CodeActionParams): CompletableFuture[java.util.List[CodeAction]]
  30. val codeActionProvider: CodeActionProvider
    Attributes
    protected
  31. def codeLens(params: CodeLensParams): CompletableFuture[java.util.List[CodeLens]]
  32. val codeLensProvider: CodeLensProvider
    Attributes
    protected
  33. val compilations: Compilations
  34. val compilers: Compilers
    Attributes
    protected
  35. def completion(params: CompletionParams): CompletableFuture[CompletionList]
  36. def completionItemResolve(item: CompletionItem): CompletableFuture[CompletionItem]
  37. val connectionBspStatus: ConnectionBspStatus
    Attributes
    protected
  38. def copyWorksheetOutput(worksheetPath: io.AbsolutePath): CompletableFuture[AnyRef]
  39. def createDebugSession(target: BuildTargetIdentifier): Future[DebugSession]
  40. def createFile(directoryURI: Option[String], name: Option[String], fileType: Option[String], isScala: Boolean): CompletableFuture[AnyRef]
  41. def debugDiscovery(params: DebugDiscoveryParams): Future[DebugSession]
  42. val debugProvider: DebugProvider
    Attributes
    protected
  43. def decodeFile(uri: String): Future[DecoderResponse]
  44. def definition(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
  45. val definitionIndex: OnDemandSymbolIndex
    Attributes
    protected
  46. def definitionOrReferences(positionParams: TextDocumentPositionParams, token: CancelToken = EmptyCancelToken, definitionOnly: Boolean = false): Future[DefinitionResult]

    Returns the definition location or reference locations of a symbol at a given text document position.

    Returns the definition location or reference locations of a symbol at a given text document position. If the symbol represents the definition itself, this method returns the reference locations, otherwise this returns definition location. https://github.com/scalameta/metals/issues/755

  47. val definitionProvider: DefinitionProvider
    Attributes
    protected
  48. def definitionResult(position: TextDocumentPositionParams, token: CancelToken = EmptyCancelToken): Future[DefinitionResult]

    Returns textDocument/definition in addition to the resolved symbol.

    Returns textDocument/definition in addition to the resolved symbol.

    The resolved symbol is used for testing purposes only.

  49. val diagnostics: Diagnostics
    Attributes
    protected
  50. def didChange(params: DidChangeTextDocumentParams): CompletableFuture[Unit]
  51. def didChangeWatchedFiles(events: List[FileEvent]): Future[Unit]
  52. def didClose(params: DidCloseTextDocumentParams): Unit
  53. def didCompileTarget(report: CompileReport): Unit
    Attributes
    protected
  54. def didFocus(uri: String): CompletableFuture[DidFocusResult.Value]
  55. def didOpen(params: DidOpenTextDocumentParams): CompletableFuture[Unit]
  56. def didSave(params: DidSaveTextDocumentParams): CompletableFuture[Unit]
  57. def discoverMainClasses(unresolvedParams: DebugDiscoveryParams): Future[DebugSessionParams]
  58. def discoverTestSuites(uri: Option[String]): Future[List[BuildTargetUpdate]]
  59. val doctor: Doctor
  60. def documentHighlights(params: TextDocumentPositionParams): CompletableFuture[java.util.List[DocumentHighlight]]
  61. def documentSymbol(params: DocumentSymbolParams): CompletableFuture[org.eclipse.lsp4j.jsonrpc.messages.Either[java.util.List[DocumentSymbol], java.util.List[SymbolInformation]]]
  62. val documentSymbolProvider: DocumentSymbolProvider
    Attributes
    protected
  63. val embedded: Embedded
    Attributes
    protected
  64. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  65. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  66. var excludedPackageHandler: ExcludedPackagesHandler
  67. def executeCodeActionCommand(params: ExecuteCommandParams, token: CancelToken): Future[Unit]
  68. implicit val executionContext: ExecutionContextExecutorService
    Attributes
    protected
  69. val fileDecoderProvider: FileDecoderProvider
    Attributes
    protected
  70. def fileWatchFilter(path: Path): Boolean

    This filter is an optimization and it is closely related to which files are processed in didChangeWatchedFiles

    This filter is an optimization and it is closely related to which files are processed in didChangeWatchedFiles

    Attributes
    protected
  71. def findBuildTargetByDisplayName(target: String): Option[BuildTarget]
  72. def findTextInDependencyJars(params: FindTextInDependencyJarsRequest): Future[List[Location]]
  73. val findTextInJars: FindTextInDependencyJars
    Attributes
    protected
  74. val fingerprints: MutableMd5Fingerprints
    Attributes
    protected
  75. val focusedDocumentBuildTarget: AtomicReference[BuildTargetIdentifier]
    Attributes
    protected
  76. val folderReportsZippper: FolderReportsZippper
  77. def foldingRange(params: FoldingRangeRequestParams): CompletableFuture[java.util.List[FoldingRange]]
  78. val foldingRangeProvider: FoldingRangeProvider
    Attributes
    protected
  79. def formatting(params: DocumentFormattingParams): CompletableFuture[java.util.List[TextEdit]]
  80. val formattingProvider: FormattingProvider
    Attributes
    protected
  81. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  82. def getLocationForSymbol(symbol: String): Option[Location]
  83. def getTastyForURI(uri: URI): Future[Either[String, String]]
  84. def getVisibleName: String
  85. def gotoSupermethod(textDocumentPositionParams: TextDocumentPositionParams): CompletableFuture[AnyRef]
  86. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  87. def hover(params: HoverExtParams): CompletableFuture[Hover]
  88. def implementation(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
  89. val implementationProvider: ImplementationProvider
    Attributes
    protected
  90. def importAfterScalaCliChanges(servers: Iterable[ScalaCli]): Iterable[Unit]
    Attributes
    protected
  91. def indexSources(): Future[Unit]
  92. val indexer: Indexer
    Attributes
    protected
  93. var indexingPromise: Promise[Unit]
  94. def initialized(): Future[Unit]
  95. def inlayHintResolve(inlayHint: InlayHint): CompletableFuture[InlayHint]
  96. val inlayHintResolveProvider: InlayHintResolveProvider
    Attributes
    protected
  97. def inlayHints(params: InlayHintParams): CompletableFuture[java.util.List[InlayHint]]
  98. val interactiveSemanticdbs: InteractiveSemanticdbs
    Attributes
    protected
  99. val isCancelled: AtomicBoolean
  100. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  101. lazy val isMetalsProject: Boolean
    Definition Classes
    Folder
  102. val javaFormattingProvider: JavaFormattingProvider
    Attributes
    protected
  103. val javaHighlightProvider: JavaDocumentHighlightProvider
    Attributes
    protected
  104. def javaHome: Option[String]
  105. def loadFingerPrints(): Future[Unit]
    Attributes
    protected
  106. def loadedPresentationCompilerCount(): Int
  107. val mainBuildTargetsData: TargetData
    Attributes
    protected
  108. def mainClassSearch(params: DebugUnresolvedMainClassParams): MainClassSearch
  109. def maybeCompileOnDidFocus(path: io.AbsolutePath, prevBuildTarget: BuildTargetIdentifier): Future[DidFocusResult.Value]
    Attributes
    protected
  110. val mtags: Mtags
    Attributes
    protected
  111. def nameOrUri: String
    Definition Classes
    Folder
  112. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  113. val newFileProvider: NewFileProvider
    Attributes
    protected
  114. def newSymbolIndex(): OnDemandSymbolIndex
    Attributes
    protected
  115. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  116. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  117. def onChange(paths: Seq[io.AbsolutePath]): Future[Unit]
    Attributes
    protected
  118. def onCreate(path: io.AbsolutePath): Unit
    Attributes
    protected
  119. def onDelete(path: io.AbsolutePath): Future[Unit]
    Attributes
    protected
  120. def onShutdown(): Unit
  121. def onTypeFormatting(params: DocumentOnTypeFormattingParams): CompletableFuture[java.util.List[TextEdit]]
  122. val onTypeFormattingProvider: OnTypeFormattingProvider
    Attributes
    protected
  123. def onUserConfigUpdate(newConfig: UserConfiguration): Future[Unit]
  124. def onWorksheetChanged(paths: Seq[io.AbsolutePath]): Future[Unit]
    Attributes
    protected
  125. lazy val optDelegatePath: Option[io.AbsolutePath]

    A workspace folder might be a project reference for an other project.

    A workspace folder might be a project reference for an other project. In that case all its commands will be delegated to the main project's service. We keep the path to main project's root in a dedicated setting, so even before the main project is imported, this folder is known to be a reference.

    Definition Classes
    Folder
  126. def optFileSystemSemanticdbs(): Option[FileSystemSemanticdbs]
  127. def optProjectRoot: Option[io.AbsolutePath]
    Attributes
    protected
  128. val packageProvider: PackageProvider
    Attributes
    protected
  129. val parseTrees: BatchedFunction[io.AbsolutePath, Unit]
  130. def parseTreesAndPublishDiags(paths: Seq[io.AbsolutePath]): Future[Unit]
  131. val path: io.AbsolutePath
    Definition Classes
    Folder
  132. def pause(): Unit
  133. def prepareCallHierarchy(params: CallHierarchyPrepareParams): CompletableFuture[java.util.List[CallHierarchyItem]]
  134. def prepareRename(params: TextDocumentPositionParams): CompletableFuture[org.eclipse.lsp4j.Range]
  135. def projectReferences: List[io.AbsolutePath]
    Definition Classes
    Folder
  136. def rangeFormatting(params: DocumentRangeFormattingParams): CompletableFuture[java.util.List[TextEdit]]
  137. val rangeFormattingProvider: RangeFormattingProvider
    Attributes
    protected
  138. val recentlyOpenedFiles: ActiveFiles
    Attributes
    protected
  139. def references(params: ReferenceParams): CompletableFuture[java.util.List[Location]]
  140. val referencesProvider: ReferenceProvider
    Attributes
    protected
  141. def referencesResult(params: ReferenceParams): Future[List[ReferencesResult]]
  142. def register[T <: Cancelable](cancelable: T): T
  143. def registerNiceToHaveFilePatterns(): Unit
    Attributes
    protected
  144. def rename(params: RenameParams): CompletableFuture[WorkspaceEdit]
  145. val renameProvider: RenameProvider
    Attributes
    protected
  146. implicit val reports: StdReportContext
  147. def resetNotifications(): Future[Unit]
  148. def resetService(): Unit
    Attributes
    protected
  149. def restartCompiler(): Future[Unit]
  150. def runScalafix(uri: String): Future[ApplyWorkspaceEditResponse]
  151. def runScalafixRules(uri: String, rules: List[String]): Future[ApplyWorkspaceEditResponse]
  152. val savedFiles: ActiveFiles
    Attributes
    protected
  153. val scalaCli: ScalaCliServers
  154. val scalaVersionSelector: ScalaVersionSelector
    Attributes
    protected
  155. val scalafixProvider: ScalafixProvider
    Attributes
    protected
  156. def selectionRange(params: SelectionRangeParams): CompletableFuture[java.util.List[SelectionRange]]
  157. val semanticDBIndexer: SemanticdbIndexer
    Attributes
    protected
  158. def semanticTokensFull(params: SemanticTokensParams): CompletableFuture[SemanticTokens]

    Requesting semantic tokens for a whole file in order to highlight

    Requesting semantic tokens for a whole file in order to highlight

    Definition Classes
    MetalsLspServiceTextDocumentService
  159. def setUserConfig(newConfig: UserConfiguration): UserConfiguration
  160. def signatureHelp(params: TextDocumentPositionParams): CompletableFuture[SignatureHelp]
  161. val sourceMapper: SourceMapper
    Attributes
    protected
  162. val stacktraceAnalyzer: StacktraceAnalyzer
  163. def startDebugProvider(params: DebugSessionParams): Future[DebugSession]
  164. def startScalaCli(path: io.AbsolutePath): Future[Unit]
  165. def startTestSuite(target: BuildTarget, params: ScalaTestSuitesDebugRequest): Future[DebugSession]
  166. def stopScalaCli(): Future[Unit]
  167. def superMethodHierarchy(textDocumentPositionParams: TextDocumentPositionParams): CompletableFuture[AnyRef]
  168. val supermethods: Supermethods
    Attributes
    protected
  169. def supportsBuildTarget(target: BuildTargetIdentifier): Option[BuildTarget]
  170. val symbolDocs: Docstrings
    Attributes
    protected
  171. val symbolHierarchyOps: SymbolHierarchyOps
    Attributes
    protected
  172. val symbolSearch: MetalsSymbolSearch
    Attributes
    protected
  173. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  174. val tables: Tables
  175. def testClassSearch(params: DebugUnresolvedTestClassParams): TestClassSearch
  176. val testProvider: TestSuitesProvider
    Attributes
    protected
  177. def toString(): String
    Definition Classes
    AnyRef → Any
  178. val trees: Trees
    Attributes
    protected
  179. def typeDefinition(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
  180. def unpause(): Unit
  181. var userConfig: UserConfiguration
    Attributes
    protected
  182. val userConfigPromise: Promise[Unit]
    Attributes
    protected
  183. val visibleName: Option[String]
    Definition Classes
    Folder
  184. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  185. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  186. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  187. def warnings: Warnings
    Attributes
    protected
  188. val wasInitialized: AtomicBoolean
  189. def willRenameFile(oldPath: io.AbsolutePath, newPath: io.AbsolutePath): Future[WorkspaceEdit]
  190. val worksheetProvider: WorksheetProvider
  191. val workspaceReload: WorkspaceReload
    Attributes
    protected
  192. def workspaceSymbol(query: String): Seq[SymbolInformation]
  193. def workspaceSymbol(params: WorkspaceSymbolParams, token: CancelToken): Future[List[SymbolInformation]]
  194. val workspaceSymbols: WorkspaceSymbolProvider
    Attributes
    protected

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 TextDocumentService

Inherited from Cancelable

Inherited from Folder

Inherited from AnyRef

Inherited from Any

Ungrouped