How do I link variables inside another object in scaladocs?
Asked Answered
A

1

5

To link another class, I can use [[package.Classname]]. Linking functions defined by def works as well, but trying to link variables doesn't work.

What I've tried:

object Foo {

  val BAR = 0
}

object Example {

  /**
  * Does the thing with [[Foo.BAR]]
  */
  def doTheThing(): Unit = {

  }
}

I've also tried [[Foo#BAR]] (from another post) instead of [[Foo.BAR]], which fails as well.

What's the proper way to link variables in scaladoc?

Ardellaardelle answered 29/10, 2020 at 2:57 Comment(0)
P
4

The right way to go is what you have already tried:

/**
* Does the thing with [[Foo.BAR]]
*/

Please note that if this is just an example to a more complicated scenario, you need to include the whole package path of Foo.BAR. For example, if Foo is under:

package a.b.c.d

Then you need to do:

/**
* Does the thing with [[a.b.c.d.Foo.BAR]]
*/

You can find in the scaladocs docs:

Create links to referenced Scala Library classes using the square-bracket syntax, e.g. [[scala.Option]]

For more information you can read SCALADOC FOR LIBRARY AUTHORS

You can see here and example how the akka library is using it.

Paulita answered 29/10, 2020 at 10:15 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.