Scala言語仕様書の予約語、[]で囲まれたGenericsの型指定、コメント、文字列をハイライトします。ほかにもあるかもですが言語知識がこの程度なので...。
Javaモードにあった数値のハイライトは少々うざったかったので削ってます。
使ってみた感じはこちら => [Scala] Scala チートシート
付け加えたコードは以下。
dp.sh.Brushes.Scala=function()
{var keywords='abstract case catch class def do else extends false final finally for forSome if implicit import lazy match new null object override package private protected requires return sealed super this throw trait try true type val var while with yield :';this.regexList=[
{regex:dp.sh.RegexLib.SingleLineCComments,css:'comment'},
{regex:dp.sh.RegexLib.MultiLineCComments,css:'comment'},
{regex:dp.sh.RegexLib.DoubleQuotedString,css:'string'},
{regex:dp.sh.RegexLib.SingleQuotedString,css:'string'},
{regex:new RegExp(this.GetKeywords(keywords),'gm'),css:'keyword'},
{regex:new RegExp('=>','g'),css:'keyword'},
{regex:new RegExp('<-','g'),css:'keyword'},
{regex:new RegExp('<:','g'),css:'keyword'},
{regex:new RegExp('<%','g'),css:'keyword'},
{regex:new RegExp('>:','g'),css:'keyword'},
{regex:new RegExp('\\[[\\w\\d\\*]+\\]','g'),css:'type'}
];this.CssClass='dp-j';this.Style='.dp-j .type { color: darkred; }';}
dp.sh.Brushes.Scala.prototype=new dp.sh.Highlighter();dp.sh.Brushes.Scala.Aliases=['scala'];
使う場合は、class="scala" を指定します。
<pre name="code" class="scala">
// Scala コード
</pre>
使わせてもらいまーす。型が複数の場合(例:[T, T])とか、型にプレースホルダを使用した場合(例:[String, _])とかがハイライトされなかったのでちょっと改造しました。
返信削除\\[[\\w\\d\\*]+\\]
↓
\\[[_\\w\\d\\*]+(,\\s*[_\\w\\d\\*]+)*\\]
pom さま
返信削除コメントありがとうございます。1ヶ月も前にいただいていたのに気づかなかった・・・><。正規表現の改良もありがとうございます^^。
参考にさせていただきました〜
返信削除ありがとうございます。
kiyoshih さま
返信削除コメントありがとうございます。
お役に立てて良かったです。^^