|
Scala example source code file (Completion.scala)
The Completion.scala Scala example source code/* NSC -- new Scala compiler * Copyright 2005-2013 LAMP/EPFL * @author Paul Phillips */ package scala.tools.nsc package interpreter import Completion._ /** An implementation-agnostic completion interface which makes no * reference to the jline classes. */ trait Completion { def resetVerbosity(): Unit def completer(): ScalaCompleter } object NoCompletion extends Completion { def resetVerbosity() = () def completer() = NullCompleter } object Completion { case class Candidates(cursor: Int, candidates: List[String]) { } val NoCandidates = Candidates(-1, Nil) object NullCompleter extends ScalaCompleter { def complete(buffer: String, cursor: Int): Candidates = NoCandidates } trait ScalaCompleter { def complete(buffer: String, cursor: Int): Candidates } def looksLikeInvocation(code: String) = ( (code != null) && (code startsWith ".") && !(code == ".") && !(code startsWith "./") && !(code startsWith "..") ) object Forwarder { def apply(forwardTo: () => Option[CompletionAware]): CompletionAware = new CompletionAware { def completions(verbosity: Int) = forwardTo() map (_ completions verbosity) getOrElse Nil override def follow(s: String) = forwardTo() flatMap (_ follow s) } } } Other Scala source code examplesHere is a short list of links related to this Scala Completion.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.