秀丸でchangelog

秀丸changelogする環境を作ったので、まとめ。
dropboxと組み合わせるとすごく快適!

changelogの書式

一般的な書式はchalowの図(http://chalow.org/)だが、多少変更する。

変更内容は、以下2点。

  1. 曜日を入れた。
  2. item毎に時間を入れた。時間は[hh:mm:ss]とした。

変更後の書式は以下。

yyyy-mm-dd(曜日) 名前 <メールアドレス>
* タイトル[カテゴリ][hh:mm:ss]:
item

参考:私の ChangeLog メモ活用法

秀丸マクロ

元々はYAYADoc: 秀丸用changelogマクロのマクロ。
これを改変した。改変点は以下。

フォーマット変更系
  • 曜日を入れるようにした。
  • 時刻を入れるようにした。「* [hh:mm:ss]: 」
利便性向上系
  • いまchangelogファイルを開いていれば、それをアクティブにするようにした。
  • マクロ実行後はウィンドウを最前面にするようにした。
ソースファイル

changelog.mac等のファイル名で秀丸マクロフォルダに配置。

// UNIX compatible changelog
// by Project PaoPei 2004 Japan
// This program shall be in the public domain.

// User defined vars //
// Set your mail address
$mead   ="<foo@hoge.com>";
// Set your name other than Windows USERNAME, if you like.
$myname ="foo";
//------------------//

// Set name to USERNAME, if no name is specified above.
$user =getenv("USERNAME");
if ($myname=="") $myname = $user;
// Set changelog path
$path =getenv("HOME");
if ($path=="") 
{
	$filepath = "C:\\Documents and Settings\\" + $user + "\\changelog.txt";
}
else 
{
	$filepath = $path + "\\changelog.txt";
}

// add at 2009/4/27
$filepath = "C:\\Documents and Settings\\foo\\My Documents\\My Dropbox\\ChangeLog.chlog";

// Process starts
// open changelog file

// add START at 2009/4/27
if (tolower(filename) != tolower($filepath)) {
	#hidemaruHandler = findhidemaru($filepath);
	if ( #hidemaruHandler == -1 ) {
		openfile($filepath);
	} else {
		setactivehidemaru #hidemaruHandler;
	}
}
// add END at 2009/4/27

gofiletop;
// add START at 2009/4/27
//$today = year + "-" + month + "-" + day;
$wdays[0] = "Sun";
$wdays[1] = "Mon";
$wdays[2] = "Tue";
$wdays[3] = "Wed";
$wdays[4] = "Thu";
$wdays[5] = "Fri";
$wdays[6] = "Sat";
$today = year + "-" + month + "-" + day + " (" + $wdays[dayofweeknum] + ")";

// add END at 2009/4/27
$topLineDate = gettext(0,0,10,0);
if ($topLineDate == $today) 
{
	#r = yes;
}
else 
{
	searchdown $today, word;
	#r = result;
}
if (#r == 0) // if today's date is not found, insert date
{
	insert "\n" + $today + "  " + $myname + "  " + $mead + "\n";
	$endlf="\n\n";
// change by konnoy at 2009/04/27
	#bs=14;
}
else
{
	down;
	golinetop;
	$endlf="\n";
// change by konnoy at 2009/04/27
	#bs=13;
}
// insert item format
// change at 2009/04/27
$titleform = "\n\t* [" + time + "]: " + $endlf;
insert $titleform;
left(#bs);
setfocus;  // add at 2009/04/29
endmacro;

秀丸エディタ設定

せっかくなので、強調表示の設定とアウトラインの設定を実施。そのためにまず拡張子の設定から。
当然ながらショートカットキーの設定も実施。

拡張子の設定

.chlogにしてみた。.changelogはさすがに長い。。

  • .chlogのファイルを開いている状態で、[その他(O)]→[ファイルタイプ別の設定(C)...]
  • 「ファイルタイプ別の設定」ダイアログで、「設定のリスト」をクリック。
  • 「新規(N)...」をクリック後、名前を「changelog」とした。

強調表示の設定

設定ファイルとしては、以下。

25,^\t\*.*
93,^2[0-1][0-9][0-9].*
アウトラインの設定

設定ファイルとしては、以下。

/
/0000,0002,0000,00000000,00010111,"^2[0-1][0-9][0-9]-[0-1][0-9]-[0-3][0-9].*",""
/0001,0002,0000,00000000,00010711,"^\\t\\*.*",""
マクロ登録

No.1に登録したので、Ctrl+1でマクロ起動。

その他
  • タブストップを"2"に設定。タブストップが8とかだと、1行の長さがある程度長くなって折り返しが発生すると段落頭との差異が大きくて違和感が多いので。
  • 自動インデントを設定
  • TAB文字と全角空白を表示するようにした。

猫まねき設定

グローバルホットキーで使えるようにしたかったので、猫まねきで設定してみた。(猫まねきなので、WindowsVistaは対象外)

  • Ctrl+Alt+C で起動にした。

  • 起動オプション、作業ログはそれぞれ以下。
"C:\Program Files\Hidemaru\Hidemaru.exe" /(190,650,1100,360) /xchangelog.mac  ChangeLog.chlog
"C:\Documents and Settings\foo\My Documents\My Dropbox"

既知の問題点

  • グローバルホットキーで起動したとき、すでにChangeLogが開いていると、二重起動確認ダイアログになってしまう。閉じて開けば良いとはいえ、少し気になる。