まずは、JavaScriptを整形するライブラリ beautify.js を jsbeautifier.org からダウンロードさせてもらい、Kate用Scriptのライブラリ置き場
/usr/share/kde4/apps/katepart/script/librariesに設置しておきます。これは次に作るKate用Script本体から読み込みます。
それでは、Kate用Script本体を作りましょう。
beautifyJS.js
/* kate-script
* author: akirattii, <tanaka.akira.2006@gmail.com>
* license: BSD
* revision: 1
* kate-version: 3.11.2
* type: commands
* functions: beautifyJS
*/
require("range.js");
require("beautify.js"); // for js_beautify
function help(cmd) {
if (cmd == "beautifyJS") {
return i18n("beautify javascript code");
}
}
function action(cmd) {
var a = new Object();
if (cmd == "beautifyJS") {
a.text = i18n("beautify JavaScript");
a.icon = "";
a.category = "";
a.interactive = false;
a.shortcut = "Ctrl+Alt+f";
}
return a;
}
function beautifyJS() {
var selectionRange = view.selection();
if (view.hasSelection()) {
if (selectionRange.isValid()) {
var fromLine = selectionRange.start.line;
var toLine = selectionRange.end.line;
var fromColumn = selectionRange.start.column;
var toColumn = selectionRange.end.column;
var newCode = _beautify(view.selectedText());
document.editBegin();
document.removeText(fromLine, fromColumn, toLine, toColumn);
document.insertText(fromLine, fromColumn, newCode);
document.editEnd();
}
} else {
var line = view.cursorPosition().line;
var endColumn = document.lineLength(line);
var newCode = _beautify(view.selectedText());
document.editBegin();
document.removeText(line, 0, line, endColumn);
document.insertText(line, 0, newCode);
view.setCursorPosition(line + 1, 0);
document.editEnd();
}
}
function _beautify(jsSrcTxt) {
return js_beautify(jsSrcTxt, {
indent_size: 2,
indent_char: ' '
});
}上記のJSをKate用Script置き場
/usr/share/kde4/apps/katepart/script/commandsに保存します。
これだけです。
使い方
Kateエディタを再起動し、JSソースコードを開いてフォーマット箇所を選択、メニューバーの Tools > Scripts > beautify JavaScript を実行します。
なお、action()内で指定したショートカットキー(Ctrl+Alt+F)でも実行可能です。
参考にさせていただいたサイト
Kateの機能拡張(KDE4.10):kore1server
0 件のコメント:
コメントを投稿