2009-10-10
google-code-prettify の createSimpleLexer を使うと、
任意の正規表現でハンドラーを生成できる。
たとえば、以下のように書くと、D言語のコメントに対応する。
(ネストできるコメントは手抜き)
PR.registerLangHandler( PR.createSimpleLexer( /** 特定の文字で判別できる場合ここに書く * [style:string, patern:regexp, null, shortcut:string] * 例:#で始まるコメント行 * [PR_COMMENT, /^#[^\r\n]*/, null, '#'] * shortcut は必須 */ [ ], /** 上でマッチしなかった場合に使われる。 * [style:string, patern:regexp, null, shortcut:string] * 例://で始まるコメント行 * [PR.PR_COMMENT,/^\/\/[^\r\n]*/, null] * shortcut は無くても良い * 配列の順にテストするので順番に注意する */ [ [PR.PR_COMMENT,/^\/\/[^\r\n]*/, null], [PR.PR_COMMENT,/^\/\*[\s\S]*?(?:\*\/|$)/, null], [PR.PR_COMMENT,/^\/\+[\s\S]*?(?:\+\/|$)/, null] ]), ['d']);