Skip to content

Instantly share code, notes, and snippets.

@takahashim
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takahashim/9479351 to your computer and use it in GitHub Desktop.
Save takahashim/9479351 to your computer and use it in GitHub Desktop.

#Re:VIEWの構文拡張について

Re:VIEWではブロックの構文が拡張されることになりました。一部非互換があります。

旧ルールでは以下のように記述していたものが、

//foo[bar][buz][baa]{
//}

新ルールでは以下のように記述できます。

//foo[bar, buz, baa]{
//}

新ルールには以下のような、名前付き引数も使えます。

//foo[bar, name: buz, caption: "baa"]{
//}

「"」でくくった場合、「,」も値に使えます。

//foo[bar, name: "buz", caption: "aaa,bbb,ccc"]{
//}

ルール概要

  • 「[…]」が複数個あった場合は旧ルールを適用
  • 「[...]」が1個の場合、
    • 「,」がない場合、または「,」のようにエスケープされている場合は旧ルールのまま
    • 「,」がある場合、そこで引数を分割する(※例外あり)
    • 各引数について、先頭が/\A[A-Za-z0-9_-]+:/にマッチする場合、名前つき引数になる
    • 名前付き引数の値は、「"」でくくることができる。その場合、「,」もエスケープは必要ない。「"」については「"」というエスケープが可能。
    • 「"」でくくられない引数の値は、「,」で区切られる。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment