wn-
wn-

Reputation: 1505

How do I access scala documentation from the repl?

First of all for the built in docs, and also for my own code.

Specifically, I want to get information similar to how in python you can call help() on a method or object to get information on just that object printed into the repl.

Upvotes: 31

Views: 3317

Answers (1)

Rex Kerr
Rex Kerr

Reputation: 167891

Scaladocs are generated as HTML, so you don't want them appearing in the REPL window. You might want to load docs in a browser from the REPL, however. You can do that by creating your own method like so (this one takes an instance; you could have it take an instance of Class[A] instead, if you prefer):

def viewdoc[A](a: A) {
  val name = a.asInstanceOf[AnyRef].getClass.getName
  val url = "http://www.scala-lang.org/api/current/index.html#"+name
  val pb = new ProcessBuilder("firefox",url)
  val p = pb.start
  p.waitFor
}

If you want to get extra-clever, you could parse the name to point the web browser at Javadocs for java classes and Scaladocs for Scala classes and wherever you have your documentation for your classes. You also probably want to use a local source, file:///my/path/to/docs/index.html# instead of the API from the web. But I used this so you can try out

scala> viewdoc(Some(1))

Upvotes: 21

Related Questions