miau's blog?

サクラエディタで改行コードを色分けとか

数ヶ月前から、

[4501] スタートアップマクロ - SAKURA Development BBS

この機能を利用して、ファイル保存前に改行コードの混在チェックを行っているんですが。
昨日作業中にふと「どうせなら保存前にも軽く確認したいな」→「改行コードごとに色分け表示すればいいんじゃね?」と思い立ったので適当にソースいじってみた。




上記パッチ当ててる関係で 1.5.11.0 がベースですが、変更内容はこんな感じ。

Index: CEditView_New.cpp
===================================================================
--- CEditView_New.cpp (revision 994)
+++ CEditView_New.cpp (working copy)
@@ -1587,7 +1587,20 @@
int sx, sy; // 矢印の先頭
HANDLE hPen;
HPEN hPenOld;
- hPen = ::CreatePen( PS_SOLID, 1, pColor );
+ switch( cEol.GetType() ){
+ case EOL_CRLF: // 下左矢印
+ hPen = ::CreatePen( PS_SOLID, 1, pColor);
+ break;
+ case EOL_LF: // 左向き矢印
+ hPen = ::CreatePen( PS_SOLID, 1, pColor | RGB( 255, 0, 0 ) );
+ break;
+ case EOL_CR: // 下向き矢印
+ hPen = ::CreatePen( PS_SOLID, 1, pColor | RGB( 0, 255, 0 ) );
+ break;
+ case EOL_LFCR:
+ hPen = ::CreatePen( PS_SOLID, 1, pColor ^ RGB( 255, 255, 255 ) );
+ break;
+ }
hPenOld = (HPEN)::SelectObject( hdc, hPen );

switch( cEol.GetType() ){

見た目はこんな。
sakura_eof_color
diff 見ればわかるように、変更自体はすごく簡単で、10 分程度で完了。
こういう風に気軽にソースいじれると、「オープンソースのソフト使っててよかったなー」と幸せになれます。

ちなみに、
・改行コードの色指定がベタっぽくて気に食わない
・1.5.13.0 のソースを取り込めてない
ので blog でこっそり公開するに留めてます。


スタートアップマクロを気軽に使いたい方は

Junk/8 - SakuraEditorWiki

で EXE も公開されてるっぽいです。


ついでに、まじめに色指定するときのための URL メモ。

複数のビットフィールドを持つ数値の並列演算
posted at 06:04:21 on 2006-11-09 by miau - Category: TextEditor No Trackbacks - Permalink

TrackBack

このエントリにトラックバックはありません
現在トラックバックは受け付けていません。

Comments

No comments yet

Add Comments

現在コメントは受け付けていません。
お手数ですが、 こちら のコメント欄にでも記載していただければと思います。