Package

scala.meta.internal

pc

Permalink

package pc

Visibility
  1. Public
  2. All

Type Members

  1. trait AutoImports extends AnyRef

    Permalink
  2. final class AutoImportsProvider extends AnyRef

    Permalink
  3. case class AutoImportsResultImpl(packageName: String, edits: java.util.List[TextEdit]) extends AutoImportsResult with Product with Serializable

    Permalink
  4. trait Compat extends AnyRef

    Permalink
  5. abstract class CompilerAccess[Reporter, Compiler] extends AnyRef

    Permalink

    Manages the lifecycle and multi-threaded access to the presentation compiler.

    Manages the lifecycle and multi-threaded access to the presentation compiler.

    - automatically restarts the compiler on miscellaneous crashes. - handles cancellation via Thread.interrupt() to stop the compiler during typechecking, for functions that support cancellation.

  6. case class CompilerInitializationOptions(completionCommand: Option[String], isCompletionItemDetailEnabled: Option[Boolean], isCompletionItemDocumentationEnabled: Option[Boolean], isCompletionItemResolve: Option[Boolean], isHoverDocumentationEnabled: Option[Boolean], isSignatureHelpDocumentationEnabled: Option[Boolean], overrideDefFormat: Option[String], parameterHintsCommand: Option[String], snippetAutoIndent: Option[Boolean]) extends Product with Serializable

    Permalink

    Represents the Compiler InitializationOptions that the client sends in during the initialize process.

    Represents the Compiler InitializationOptions that the client sends in during the initialize process. If the the client doesn't doesn't explicity send in anything, we default everything to None to signify the client didn't set this. This will then default to what is currently set (more than likely the defaults) in the PresentationCompilerConfigImpl.

    completionCommand

    command identifier to trigger completion.

    isCompletionItemDetailEnabled

    whether the CompletionItem.detail field should be populated.

    isCompletionItemDocumentationEnabled

    whether the CompletionItem.documentation field should be populated.

    isCompletionItemResolve

    whether the client wants Metals to handle completionItem/resolve

    isHoverDocumentationEnabled

    whether to include docstrings in a textDocument/hover.

    isSignatureHelpDocumentationEnabled

    whether the SignatureHelp.documentation field should be populated.

    overrideDefFormat

    whether the override should include a unicode icon or only ascii.

    parameterHintsCommand

    command identifier to trigger parameter hints.

    snippetAutoIndent

    whether the client defaults to adding the indentation of the reference line that the operation started on.

  7. class CompilerJobQueue extends AnyRef

    Permalink

    A thread pool executor to execute jobs on a single thread in a last-in-first-out order.

    A thread pool executor to execute jobs on a single thread in a last-in-first-out order.

    The last-in-first-out order is important because it's common for Metals users to send multiple completion/hover/signatureHelp requests in rapid succession. In these situations, we care most about responding to the latest request even if it comes at the expense of ignoring older requests.

    To restrict unsafe multi-threaded access to the presentation compiler we schedule jobs to run on a single thread. We use this executor instead of the presentation compiler thread (see MetalsGlobalThread) for the following reasons: - we limit the usage of sleep/notify/wait/synchronized primitives. - some blocking compiler APIs like ask[T](op: () => T) don't seem to work as advertised. - it's preferable to work on top of CompletableFuture[T] instead of the custom Response[T] from the compiler, which is required to execute tasks on the presentation compiler thread:

    • CompletableFuture[T] can be passed via Java-only reflection APIs in mtags-interfaces.
    • CompletableFuture[T] can be returned to lsp4j, for non-blocking JSON-RPC request handling.
    • CompletableFuture[T] can be converted to Scala Futures for easier composition.
  8. trait CompilerWrapper[Reporter, Compiler] extends AnyRef

    Permalink
  9. case class CompletionItemData(symbol: String, target: String, kind: Integer = null) extends Product with Serializable

    Permalink
  10. class CompletionItemResolver extends AnyRef

    Permalink
  11. sealed abstract class CompletionListKind extends AnyRef

    Permalink
  12. class CompletionProvider extends AnyRef

    Permalink
  13. case class DefinitionResultImpl(symbol: String, locations: java.util.List[Location]) extends DefinitionResult with Product with Serializable

    Permalink
  14. class HoverProvider extends AnyRef

    Permalink
  15. case class Keyword(name: String, isExpression: Boolean = false, isBlock: Boolean = false, isTemplate: Boolean = false, isPackage: Boolean = false, isMethodBody: Boolean = false, isDefinition: Boolean = false, commitCharacter: Option[String] = None) extends Product with Serializable

    Permalink
  16. trait Keywords extends AnyRef

    Permalink
  17. class MetalsGlobal extends Global with Completions with AmmoniteCompletions with ArgCompletions with FilenameCompletions with InterpolatorCompletions with MatchCaseCompletions with NewCompletions with NoneCompletions with ScaladocCompletions with TypeCompletions with OverrideCompletions with Signatures with Compat with GlobalProxy with AutoImports with Keywords with WorkspaceSymbolSearch

    Permalink
  18. case class Params(labels: Seq[String], kind: Kind) extends Product with Serializable

    Permalink
  19. class PcDefinitionProvider extends AnyRef

    Permalink
  20. case class PresentationCompilerConfigImpl(debug: Boolean = false, _parameterHintsCommand: Option[String] = None, _completionCommand: Option[String] = None, _symbolPrefixes: Map[String, String] = ..., overrideDefFormat: OverrideDefFormat = OverrideDefFormat.Ascii, isCompletionItemDetailEnabled: Boolean = true, isCompletionItemDocumentationEnabled: Boolean = true, isHoverDocumentationEnabled: Boolean = true, snippetAutoIndent: Boolean = true, isFoldOnlyLines: Boolean = false, isSignatureHelpDocumentationEnabled: Boolean = true, isCompletionSnippetsEnabled: Boolean = true, isCompletionItemResolve: Boolean = true, _isStripMarginOnTypeFormattingEnabled: () ⇒ Boolean = () => true, timeoutDelay: Long = 20, timeoutUnit: TimeUnit = TimeUnit.SECONDS) extends PresentationCompilerConfig with Product with Serializable

    Permalink
  21. trait ReporterAccess[Reporter] extends AnyRef

    Permalink
  22. class ScalaCompilerAccess extends CompilerAccess[StoreReporter, MetalsGlobal]

    Permalink
  23. class ScalaCompilerWrapper extends CompilerWrapper[StoreReporter, MetalsGlobal]

    Permalink
  24. case class ScalaPresentationCompiler(buildTargetIdentifier: String = "", classpath: collection.Seq[Path] = Nil, options: List[String] = Nil, search: SymbolSearch = EmptySymbolSearch, ec: ExecutionContextExecutor = ExecutionContext.global, sh: Option[ScheduledExecutorService] = None, config: PresentationCompilerConfig = PresentationCompilerConfigImpl(), workspace: Option[Path] = None) extends PresentationCompiler with Product with Serializable

    Permalink
  25. class SemanticdbTextDocumentProvider extends AnyRef

    Permalink
  26. class SignatureHelpProvider extends AnyRef

    Permalink
  27. trait Signatures extends AnyRef

    Permalink
  28. sealed abstract class SymbolSearchCandidate extends AnyRef

    Permalink
  29. trait WorkspaceSymbolSearch extends AnyRef

    Permalink

Value Members

  1. object CompilerInitializationOptions extends Serializable

    Permalink
  2. object CompilerJobQueue

    Permalink
  3. object CompilerThrowable

    Permalink
  4. object CompletionFuzzy extends Fuzzy

    Permalink

    A custom version of fuzzy search designed for code completions.

  5. object CompletionItemData extends Serializable

    Permalink
  6. object CompletionListKind

    Permalink
  7. object ConsoleLogger

    Permalink
  8. object DefinitionResultImpl extends Serializable

    Permalink
  9. object EmptyCompletionList

    Permalink
  10. object EmptySymbolSearch extends SymbolSearch

    Permalink
  11. object HoverMarkup

    Permalink
  12. object Identifier

    Permalink
  13. object IdentifierComparator extends Comparator[CharSequence]

    Permalink

    A comparator for identifier like "Predef" or "Function10".

    A comparator for identifier like "Predef" or "Function10".

    Differences from the default string comparator: - works with CharSequences like compiler Name - orders numbers by their numerical value instead of lexicographical

    • Good: Function1, Function2, Function10
    • Bad: Function1, Function10, Function2
  14. object InterruptException

    Permalink

    Extractor for exceptions that are caused by Thread.interrupt().

  15. object Keyword extends Serializable

    Permalink
  16. object LogMessages

    Permalink
  17. object MemberOrdering

    Permalink
  18. object Params extends Serializable

    Permalink
  19. object SymbolSearchCandidate

    Permalink
  20. package completions

    Permalink

Ungrouped