|

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Lisp/Scheme のコメント・文字列・括弧に色を付ける簡易ツール(Javascirpt)

  • ブログなどに貼った Lisp/Scheme 系のソースコードを google-code-prettify のように強調表示(ハイライト)するツールを探してみたのですが、ちょうどいいのが見つけられず……というわけで簡単なのを作ってみました*1 *2
  • キーワードや関数名、シンボルなどには色は付きません。 Lisp/Scheme っぽいものにそのまま使いまわせるようにしたかったのと、 なるべく処理が重くならないようにしたかったので、あまり複雑にならないようにしました。
  • Common Lisp とかはよく知らないのでとりあえず Emacs Lisp を想定してます……
20100417 追記
*1: これを書いたときは見つけられなかったのですが、その後 highlight.js というのを見つけました。こっち(highlight.js)の方がおすすめです。
20120513 追記
*2: これまた見つけられていなかったのですが、google-code-prettify も Lisp に対応しているようです。 README に「LISPy languages are supported via an extension: lang-lisp.js.」とあり、Change Log によれば 2008年に加わったようです。

ダウンロード

gist: 228735 - GitHub からどうぞ。

サンプル

こんな感じで色が付きます。

(defun factorial (x)
  "Calculate factorial." ; 関数の説明
  (if (= x 1)
      1
    (* x (factorial (- x 1))))) ; 再帰呼び出し

動作チェック

;; ダブルクォート文字列
aa "bb" cc
aa "b\"b" cc ; バックスラッシュでエスケープ
aa "b\\b" cc
aa "b;b" cc  ; セミコロン
aa "b(b" cc  ; 括弧
aa "b)b" cc

;; 一行コメント
aa ; bb
; aa"bb ; ダブルクォート
; aa\bb ; バックスラッシュ
; aa)bb ; 括弧
; aa(bb

;; 括弧
aa(bb)cc

;; 記号
(1 . 2)
'()

;; HTMLの文字参照
a < b
a > b
a & b

;; 最後のダブルクォートが不整合
"aa

参考(外部リンク)

スポンサーサイト



** ホームに戻る

|
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。