abstract class MetalsLspService extends Folder with Cancelable with TextDocumentService
Metals implementation of the Scala Language Service.
- Alphabetic
- By Inheritance
- MetalsLspService
- TextDocumentService
- Cancelable
- Folder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- abstract def buildData(): Seq[BuildTool]
- Attributes
- protected
- abstract def fileWatcher: FileWatcher
- abstract def maybeImportFileAndLoad(path: io.AbsolutePath, load: () => Future[Unit]): Future[Unit]
- abstract def onBuildTargetChanges(params: DidChangeBuildTarget): Unit
- Attributes
- protected
- abstract def onInitialized(): Future[Unit]
- Attributes
- protected
- abstract def pauseables: Pauseable
- abstract def projectInfo: MetalsServiceInfo
- abstract def semanticdbs(): Semanticdbs
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def allActionCommandsIds: Set[String]
- def analyzeStackTrace(content: String): Option[ExecuteCommandParams]
- def applyEdits(uri: String, edits: List[TextEdit]): Future[ApplyWorkspaceEditResponse]
- Attributes
- protected
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bspErrorHandler: BspErrorHandler
- Attributes
- protected
- var bspSession: Option[BspSession]
- val buildClient: ForwardingMetalsBuildClient
- def buildHasErrors(path: io.AbsolutePath): Boolean
- var buildServerPromise: Promise[Unit]
- val buildTargetClasses: BuildTargetClasses
- Attributes
- protected
- val buildTargets: BuildTargets
- val buildToolSelector: BuildToolSelector
- Attributes
- protected
- def callHierarchyIncomingCalls(params: CallHierarchyIncomingCallsParams): CompletableFuture[java.util.List[CallHierarchyIncomingCall]]
- Definition Classes
- MetalsLspService → TextDocumentService
- def callHierarchyOutgoingCalls(params: CallHierarchyOutgoingCallsParams): CompletableFuture[java.util.List[CallHierarchyOutgoingCall]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val callHierarchyProvider: CallHierarchyProvider
- Attributes
- protected
- def cancel(): Unit
- Definition Classes
- MetalsLspService → Cancelable
- def cancelCompile(): Future[Unit]
- val cancelables: MutableCancelable
- Attributes
- protected
- def cascadeCompile(): Future[Unit]
- def check(): Unit
- Attributes
- protected
- def chooseClass(uri: String, granurality: ClassFinderGranularity): Future[DecoderResponse]
- def cleanCompile(): Future[Unit]
- def clearBloopDir(folder: io.AbsolutePath): Unit
- Attributes
- protected
- def clearFolders(folders: io.AbsolutePath*): Unit
- Attributes
- protected
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def codeAction(params: CodeActionParams): CompletableFuture[java.util.List[CodeAction]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val codeActionProvider: CodeActionProvider
- Attributes
- protected
- def codeLens(params: CodeLensParams): CompletableFuture[java.util.List[CodeLens]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val codeLensProvider: CodeLensProvider
- Attributes
- protected
- val compilations: Compilations
- val compilers: Compilers
- Attributes
- protected
- def completion(params: CompletionParams): CompletableFuture[CompletionList]
- Definition Classes
- MetalsLspService → TextDocumentService
- def completionItemResolve(item: CompletionItem): CompletableFuture[CompletionItem]
- Definition Classes
- MetalsLspService → TextDocumentService
- val connectionBspStatus: ConnectionBspStatus
- Attributes
- protected
- def copyWorksheetOutput(worksheetPath: io.AbsolutePath): CompletableFuture[AnyRef]
- def createDebugSession(target: BuildTargetIdentifier): Future[DebugSession]
- def createFile(directoryURI: Option[String], name: Option[String], fileType: Option[String], isScala: Boolean): CompletableFuture[AnyRef]
- def debugDiscovery(params: DebugDiscoveryParams): Future[DebugSession]
- val debugProvider: DebugProvider
- Attributes
- protected
- def decodeFile(uri: String): Future[DecoderResponse]
- def definition(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val definitionIndex: OnDemandSymbolIndex
- Attributes
- protected
- 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
- val definitionProvider: DefinitionProvider
- Attributes
- protected
- 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.
- val diagnostics: Diagnostics
- Attributes
- protected
- def didChange(params: DidChangeTextDocumentParams): CompletableFuture[Unit]
- Definition Classes
- MetalsLspService → TextDocumentService
- def didChangeWatchedFiles(events: List[FileEvent]): Future[Unit]
- def didClose(params: DidCloseTextDocumentParams): Unit
- Definition Classes
- MetalsLspService → TextDocumentService
- def didCompileTarget(report: CompileReport): Unit
- Attributes
- protected
- def didFocus(uri: String): CompletableFuture[DidFocusResult.Value]
- def didOpen(params: DidOpenTextDocumentParams): CompletableFuture[Unit]
- Definition Classes
- MetalsLspService → TextDocumentService
- def didSave(params: DidSaveTextDocumentParams): CompletableFuture[Unit]
- Definition Classes
- MetalsLspService → TextDocumentService
- def discoverMainClasses(unresolvedParams: DebugDiscoveryParams): Future[DebugSessionParams]
- def discoverTestSuites(uri: Option[String]): Future[List[BuildTargetUpdate]]
- val doctor: Doctor
- def documentHighlights(params: TextDocumentPositionParams): CompletableFuture[java.util.List[DocumentHighlight]]
- Definition Classes
- MetalsLspService → TextDocumentService
- def documentSymbol(params: DocumentSymbolParams): CompletableFuture[org.eclipse.lsp4j.jsonrpc.messages.Either[java.util.List[DocumentSymbol], java.util.List[SymbolInformation]]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val documentSymbolProvider: DocumentSymbolProvider
- Attributes
- protected
- val embedded: Embedded
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- var excludedPackageHandler: ExcludedPackagesHandler
- def executeCodeActionCommand(params: ExecuteCommandParams, token: CancelToken): Future[Unit]
- implicit val executionContext: ExecutionContextExecutorService
- Attributes
- protected
- val fileDecoderProvider: FileDecoderProvider
- Attributes
- protected
- 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
- def findBuildTargetByDisplayName(target: String): Option[BuildTarget]
- def findTextInDependencyJars(params: FindTextInDependencyJarsRequest): Future[List[Location]]
- val findTextInJars: FindTextInDependencyJars
- Attributes
- protected
- val fingerprints: MutableMd5Fingerprints
- Attributes
- protected
- val focusedDocumentBuildTarget: AtomicReference[BuildTargetIdentifier]
- Attributes
- protected
- val folderReportsZippper: FolderReportsZippper
- def foldingRange(params: FoldingRangeRequestParams): CompletableFuture[java.util.List[FoldingRange]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val foldingRangeProvider: FoldingRangeProvider
- Attributes
- protected
- def formatting(params: DocumentFormattingParams): CompletableFuture[java.util.List[TextEdit]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val formattingProvider: FormattingProvider
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getLocationForSymbol(symbol: String): Option[Location]
- def getTastyForURI(uri: URI): Future[Either[String, String]]
- def getVisibleName: String
- def gotoSupermethod(textDocumentPositionParams: TextDocumentPositionParams): CompletableFuture[AnyRef]
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hover(params: HoverExtParams): CompletableFuture[Hover]
- Definition Classes
- MetalsLspService → TextDocumentService
- def implementation(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val implementationProvider: ImplementationProvider
- Attributes
- protected
- def importAfterScalaCliChanges(servers: Iterable[ScalaCli]): Iterable[Unit]
- Attributes
- protected
- def indexSources(): Future[Unit]
- val indexer: Indexer
- Attributes
- protected
- var indexingPromise: Promise[Unit]
- def initialized(): Future[Unit]
- def inlayHintResolve(inlayHint: InlayHint): CompletableFuture[InlayHint]
- Definition Classes
- MetalsLspService → TextDocumentService
- val inlayHintResolveProvider: InlayHintResolveProvider
- Attributes
- protected
- def inlayHints(params: InlayHintParams): CompletableFuture[java.util.List[InlayHint]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val interactiveSemanticdbs: InteractiveSemanticdbs
- Attributes
- protected
- val isCancelled: AtomicBoolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val isMetalsProject: Boolean
- Definition Classes
- Folder
- val javaFormattingProvider: JavaFormattingProvider
- Attributes
- protected
- val javaHighlightProvider: JavaDocumentHighlightProvider
- Attributes
- protected
- def javaHome: Option[String]
- def loadFingerPrints(): Future[Unit]
- Attributes
- protected
- def loadedPresentationCompilerCount(): Int
- val mainBuildTargetsData: TargetData
- Attributes
- protected
- def mainClassSearch(params: DebugUnresolvedMainClassParams): MainClassSearch
- def maybeCompileOnDidFocus(path: io.AbsolutePath, prevBuildTarget: BuildTargetIdentifier): Future[DidFocusResult.Value]
- Attributes
- protected
- val mtags: Mtags
- Attributes
- protected
- def nameOrUri: String
- Definition Classes
- Folder
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val newFileProvider: NewFileProvider
- Attributes
- protected
- def newSymbolIndex(): OnDemandSymbolIndex
- Attributes
- protected
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def onChange(paths: Seq[io.AbsolutePath]): Future[Unit]
- Attributes
- protected
- def onCreate(path: io.AbsolutePath): Unit
- Attributes
- protected
- def onDelete(path: io.AbsolutePath): Future[Unit]
- Attributes
- protected
- def onShutdown(): Unit
- def onTypeFormatting(params: DocumentOnTypeFormattingParams): CompletableFuture[java.util.List[TextEdit]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val onTypeFormattingProvider: OnTypeFormattingProvider
- Attributes
- protected
- def onUserConfigUpdate(newConfig: UserConfiguration): Future[Unit]
- def onWorksheetChanged(paths: Seq[io.AbsolutePath]): Future[Unit]
- Attributes
- protected
- 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
- def optFileSystemSemanticdbs(): Option[FileSystemSemanticdbs]
- def optProjectRoot: Option[io.AbsolutePath]
- Attributes
- protected
- val packageProvider: PackageProvider
- Attributes
- protected
- val parseTrees: BatchedFunction[io.AbsolutePath, Unit]
- def parseTreesAndPublishDiags(paths: Seq[io.AbsolutePath]): Future[Unit]
- val path: io.AbsolutePath
- Definition Classes
- Folder
- def pause(): Unit
- def prepareCallHierarchy(params: CallHierarchyPrepareParams): CompletableFuture[java.util.List[CallHierarchyItem]]
- Definition Classes
- MetalsLspService → TextDocumentService
- def prepareRename(params: TextDocumentPositionParams): CompletableFuture[org.eclipse.lsp4j.Range]
- Definition Classes
- MetalsLspService → TextDocumentService
- def projectReferences: List[io.AbsolutePath]
- Definition Classes
- Folder
- def rangeFormatting(params: DocumentRangeFormattingParams): CompletableFuture[java.util.List[TextEdit]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val rangeFormattingProvider: RangeFormattingProvider
- Attributes
- protected
- val recentlyOpenedFiles: ActiveFiles
- Attributes
- protected
- def references(params: ReferenceParams): CompletableFuture[java.util.List[Location]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val referencesProvider: ReferenceProvider
- Attributes
- protected
- def referencesResult(params: ReferenceParams): Future[List[ReferencesResult]]
- def register[T <: Cancelable](cancelable: T): T
- def registerNiceToHaveFilePatterns(): Unit
- Attributes
- protected
- def rename(params: RenameParams): CompletableFuture[WorkspaceEdit]
- Definition Classes
- MetalsLspService → TextDocumentService
- val renameProvider: RenameProvider
- Attributes
- protected
- implicit val reports: StdReportContext
- def resetNotifications(): Future[Unit]
- def resetService(): Unit
- Attributes
- protected
- def restartCompiler(): Future[Unit]
- def runScalafix(uri: String): Future[ApplyWorkspaceEditResponse]
- def runScalafixRules(uri: String, rules: List[String]): Future[ApplyWorkspaceEditResponse]
- val savedFiles: ActiveFiles
- Attributes
- protected
- val scalaCli: ScalaCliServers
- val scalaVersionSelector: ScalaVersionSelector
- Attributes
- protected
- val scalafixProvider: ScalafixProvider
- Attributes
- protected
- def selectionRange(params: SelectionRangeParams): CompletableFuture[java.util.List[SelectionRange]]
- Definition Classes
- MetalsLspService → TextDocumentService
- val semanticDBIndexer: SemanticdbIndexer
- Attributes
- protected
- 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
- MetalsLspService → TextDocumentService
- def setUserConfig(newConfig: UserConfiguration): UserConfiguration
- def signatureHelp(params: TextDocumentPositionParams): CompletableFuture[SignatureHelp]
- Definition Classes
- MetalsLspService → TextDocumentService
- val sourceMapper: SourceMapper
- Attributes
- protected
- val stacktraceAnalyzer: StacktraceAnalyzer
- def startDebugProvider(params: DebugSessionParams): Future[DebugSession]
- def startScalaCli(path: io.AbsolutePath): Future[Unit]
- def startTestSuite(target: BuildTarget, params: ScalaTestSuitesDebugRequest): Future[DebugSession]
- def stopScalaCli(): Future[Unit]
- def superMethodHierarchy(textDocumentPositionParams: TextDocumentPositionParams): CompletableFuture[AnyRef]
- val supermethods: Supermethods
- Attributes
- protected
- def supportsBuildTarget(target: BuildTargetIdentifier): Option[BuildTarget]
- val symbolDocs: Docstrings
- Attributes
- protected
- val symbolHierarchyOps: SymbolHierarchyOps
- Attributes
- protected
- val symbolSearch: MetalsSymbolSearch
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tables: Tables
- def testClassSearch(params: DebugUnresolvedTestClassParams): TestClassSearch
- val testProvider: TestSuitesProvider
- Attributes
- protected
- def toString(): String
- Definition Classes
- AnyRef → Any
- val trees: Trees
- Attributes
- protected
- def typeDefinition(position: TextDocumentPositionParams): CompletableFuture[java.util.List[Location]]
- Definition Classes
- MetalsLspService → TextDocumentService
- def unpause(): Unit
- var userConfig: UserConfiguration
- Attributes
- protected
- val userConfigPromise: Promise[Unit]
- Attributes
- protected
- val visibleName: Option[String]
- Definition Classes
- Folder
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def warnings: Warnings
- Attributes
- protected
- val wasInitialized: AtomicBoolean
- def willRenameFile(oldPath: io.AbsolutePath, newPath: io.AbsolutePath): Future[WorkspaceEdit]
- val worksheetProvider: WorksheetProvider
- val workspaceReload: WorkspaceReload
- Attributes
- protected
- def workspaceSymbol(query: String): Seq[SymbolInformation]
- def workspaceSymbol(params: WorkspaceSymbolParams, token: CancelToken): Future[List[SymbolInformation]]
- val workspaceSymbols: WorkspaceSymbolProvider
- Attributes
- protected
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)