(81) ソースコードに色をつける
どうせならソースを Small Basic IDE を同じ配色にしたらおもしろいかもしれないよなー、程度の勢いで今まで本 blog のSmall Basic ソースは、IDE に準拠したカラフルさで提示してきました。
ネタを明かせば、秀丸のマクロでライブラリのワードを拾ってタグつけてただけなんですけれども。
しかしこれはけっこう精度が悪い。
変数と定数の区別はつきませんし、「Text」と「TextWindow」など、ワードがカブッている場合はおかしな色合いにタグついたりするわけです。
というわけで、せっかく Small Basic のエントリなので配色タグも Small Basic のプログラムでまかなっちゃおうか、と考えてみました。
で、作ってみました。
( XPX146 )
やってることはエラく単純で。
ソースを単語ごとに分割して種類を振り分けてタグを付加して戻しているだけです。
地味な動作のくせに妙にソースが長いので、ここでは提示しないことにしました。smallbasic.com に発行してありますので、興味のある方は XPX146 をインポートして参照してください。
(ソースの文字定数に html タグがあるため、Web ページではソースが正常に表示されません。)
自分用のツールなので、付加するタグの基準は自分の投稿環境 ( WordPress + FCKEditor ) が吐き出すタグに準拠しています。
最初メインの環境 ( Windows Live Editor ) に合わせて <font> で付加してたんですけど、投稿後に FCKEditor で編集すると、FCKEditor で認めないタグは全部カットされてしまうことに気がつきました。
ので、FCKEditor が吐く <span> に変更しました。
あ、あと。
今回の I/F を、「Small Basic IDE からコピー & ペーストで貼りつけ」、「ブログエディタへコピー & ペーストで貼りつけ」られるようにしたいという希望がありました。
いちいちファイルに落として吸い上げて落として吸い上げて、なんてやってるとめんどくさくてかないません。
ので、(71) FC SmallBasic Complements でご紹介した拡張機能から TextBox ( ついでに Button も) を使用しています。
ですから、このプログラムは Web ページでは実行できません。Web ページへ行くと、
こんな感じのエラーが出ます。ご了承ください。
正直、このボリュームだと Small Basic IDE ではなかなかツラいものがあります。
実際の話、今回私はこのプログラムを一度 VB で作ってロジックを確認してから Small Basic に移植するという手順を踏みました。
たかだか 250 行程度なんですけれども。
また切り出しや置換の機能がけっこうしょぼいです。
VB だと 1 命令で済むところが Small Basic だといくつかの命令を組み合わせなければならなかったりします。
これはソースが長くなると同時に、実行に時間がかかることを意味します。
VB だとほぼ瞬時に完了しますが、Small Basic だと数十秒かかります。
どこぞの記事で「ファイル操作や文字列操作も十分な機能・性能を持っているので実務に使うアプリケーションの開発も可能だ」と書かれていたような気がしますが、ちょっとそれは無理があるんではないかという気がしますよ。
