入力補完マクロ

入力補完ダイアログをマクロから操れるようにしました。 一応フリー版でも利用できるけど、イベント内でやる方が実用的ではないかと。

以下はイベント内でのサンプル。 全く意味のない補完だけど、こんな感じっちゅーことでw

( や [ や { が入力されると出ます...

var comp = App.newObject("Complete");

function onDocumentKeyPress(tabIndex, key) {
    switch (key) {
        case 0x28: // (
            var doc = Documents.NewDocument(tabIndex);
            var caret = doc.caret;
            caret.selText = "()";
            caret.selStart--;
            comp.clear();
            comp.add("abc");
            comp.add("def");
            comp.add("ghi");
            comp.add("jkl");
            comp.add("mno");
            comp.exec();
            return 0;
        case 0x5B: // [
            var doc = Documents.NewDocument(tabIndex);
            var caret = doc.caret;
            caret.selText = "[]";
            caret.selStart–;
            comp.clear();
            comp.add("ABC");
            comp.add("DEF");
            comp.add("GHI");
            comp.add("JKL");
            comp.add("MNO");
            comp.exec();
            return 0;
        case 0x7B:
            var doc = Documents.NewDocument(tabIndex);
            var caret = doc.caret;
            caret.selText = "{}";
            caret.selStart–;
            comp.clear();
            comp.add("012");
            comp.add("345");
            comp.add("678");
            comp.add("901");
            comp.add("234");
            comp.exec();
            return 0;
    }
    return key;
}

忘れるトコだった。
上記コードは Events.js に書く必要があるっす!