Camelizeマクロ

テーブル定義書(USER_NAME) → Java(userName)


を、ちょろっとやりたかったから、慣れないマクロを書いた。

//
// camelize.js
// サクラエディタ用マクロ
// 
// アンダーバー区切りの文字列をcamelCaseに変換するマクロです。
// DBのテーブル定義書から、ちょろっとJava等のソースコードを
// 作りたいときなど、便利かと思います。
// 
// NYSL
//   http://www.kmonos.net/nysl/
// 

// camelCaseにする関数
function camelize(str) {
	return str.replace(/_([a-z])/, function(m, s) {
		return s.toUpperCase();
	});
}

// 選択されていなければ全選択する
if (Editor.IsTextSelected() == 0) {
	Editor.SelectAll();
}

// 選択されている行数を取得
var lineFrom = Editor.GetSelectLineFrom();
var lineTo = Editor.GetSelectLineTo();
var lc = lineTo - lineFrom;

// 整形処理
var result = "";
for (var i = 0; i < lc; i++) {
	var line = Editor.GetLineStr(lineFrom + i);
	result += camelize(line.toLowerCase())
}
Editor.InsText(result);