PS

Scaladoc の syntax

俺様 scaladoc.vim を作成中に出くわした Scaladoc の syntax の(知らなくてよさそうな)仕様について・・・

Left mergin

Left mergin とは

  • *のあとに空白があったら、その次の文字
  • *のあとが空白でなければ、その空白でない文字
  • それ以外は、行頭の文字
/**
 * M
 *M
M
 */
object Hello

Mのところが left mergin ということになる。

一行目の/**についてはどうなるのかというのは怪しい・・・が、上記の通りに動作する:

/**M */
/** M*/

そのためか

/**
  *
  */
object Hello

とそろえるのが推奨されている・・・が実践されていないようだ。

Tag

Tag は left mergin から空白行のみを挟んで始まらなければいけない・・・と推測される。

/**@param ok1 ok
  * @param ok2 ok
@param ok3 ok
  * not a @param
  */
def hello() = ()

List item

List item も left mergin から空白行のみを挟んで始まらなければならない。 List item- ...(-の手前に空白がある)という形なので left mergin の定義により *のあとに二つ以上空白がないと list item にならない。

/**
  *  - list item
  * - not a list item
  */
object Hello

仕様上の話かと思ったら本当にならない。

参考文献