Дословный код в scaladoc

У меня есть объект-компаньон Color, который содержит несколько полезных цветов, и я хотел бы задокументировать их следующим образом:

object Color {
  /** (.3, .3, .3, 1) */
  val darkGrey = Color(.3, .3, .3, 1);
}

Как вы, наверное, заметили, все, что я хочу, это чтобы строка (.3, .3, .3, 1) отображалась прямо под val darkGrey в документации для Color. Проблема в том, что Скаладок принимает все, что до первой точки, как предложение, а все, что после нее, скрыто «внутри» расширяемой стрелки. Итак, что я получаю, что-то вроде этого:

введите здесь описание изображения

что явно нежелательно. В идеале либо отображалась бы вся строка, либо вся строка была бы скрыта. Есть ли способ достичь любого из них?

Я также пробовал два следующих метода, и ни один из них не работает.

object Color {
  /**
    * (.3, .3, .3, 1)
    */
  val darkGrey = Color(.3, .3, .3, 1);
}
object Color {
  /** {{{
    * (.3, .3, .3, 1)
    * }}}
    */
  val darkGrey = Color(.3, .3, .3, 1);
}   
object Color {
  /** ` (.3, .3, .3, 1) ` */
  val darkGrey = Color(.3, .3, .3, 1);
}

person Malabarba    schedule 19.06.2012    source источник


Ответы (1)


Кажется, что обнаружение периода находится на поздней стадии scaladoc, не имеет значения, как оно сгенерировано или экранировано. Единственное решение, которое я нашел, немного странное — вам нужно избегать точки. Используйте другой юникод:

/** @define dot \u2024 */
object Color {
  /** `(${dot}3, ${dot}3, ${dot}3, 1)` */
  val darkGrey = Color(.3, .3, .3, 1);
}
case class Color(r:Double,g:Double,b:Double,alpha:Double)

Если вы сохраните исходный код в UTF-8, я думаю, вы также можете напрямую вставить альтернативный символ точки.

person 0__    schedule 19.06.2012