#:g1: cl-ansi-textの紹介

Posted 2014-05-28 05:00:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の148日目です。

cl-ansi-textとはなにか

 cl-ansi-textは、ターミナルのANSIエスケープ・シーケンスを簡便に利用するためのユーティリティです。

パッケージ情報

パッケージ名cl-ansi-text
Quicklisp
Quickdocshttp://quickdocs.org/cl-ansi-text

インストール方法

(ql:quickload :cl-ansi-text)

試してみる

 どんな関数があるかは、Quickdocsで確認できます。

 使い方はシンプルで、with-colorマクロという構文で囲った範囲が、指定した書式で表示されます。
囲った範囲は、

(let ((colors '(:black :red :green :yellow :blue :magenta :cyan :white)))
  (dolist (c colors (terpri))
    (cl-ansi-text:with-color (c :effect :underline)
      (format t "~S " (gensym)))))
;>>  ^[[30;4m#:G2405 ^[[0m^[[31;4m#:G2406 ^[[0m^[[32;4m#:G2407 ^[[0m^[[33;4m#:G2408 ^[[0m^[[34;4m#:G2409 ^[[0m^[[35;4m#:G2410 ^[[0m^[[36;4m#:G2411 ^[[0m^[[37;4m#:G2412 ^[[0m
;>>  
;=>  NIL

のようにエスケープ・シーケンスが付加されていて、

ansi-esc-seq

のように表示されます〈色付き/下線付き〉

まとめ

 今回は、cl-ansi-textを紹介してみました。
ターミナルを利用するアプリ等では便利に使えそうです。

comments powered by Disqus