/* * プログラムソースの基底拡張子クラス */ function class_srcfile() { this.name = 'srcfile'; this.parent = 'textfile'; this.ext = ''; } var f = class_srcfile.prototype; f.onInitProp = function (arg, classname, methodname) { App.Prop(this.name, 'wrap-mode') = 'fixed'; //折り返しの継承を切る App.Prop(this.name, 'tab-width') = 4; //タブ幅の継承を切る App.RegisterProperty(PROP_INTEGER, 'auto-completion-delay-count', '自動補完開始までの入力文字数', ''); App.RegisterProperty(PROP_BOOLEAN, 'member-completion-enabled', 'メンバの補完', ''); App.RegisterProperty(PROP_INTEGER, 'completion-search-range', '補完候補の走査範囲', ''); App.RegisterProperty(PROP_BOOLEAN, 'completion-case-sensitive', '補完で大文字・小文字の区別', ''); //自動補完を開始するまでの文字数 App.Prop(this.name, 'auto-completion-delay-count') = 5; //オブジェクトのメンバの補完を行うか? App.Prop(this.name, 'member-completion-enabled') = true; //補完で候補をキャレット位置から上下に走査する行数 App.Prop(this.name, 'completion-search-range') = 100; //補完で大文字・小文字を区別するか? App.Prop(this.name, 'completion-case-sensitive') = false; } f.onKeyPrintable = function (arg, classname, methodname){ App.Caret.BeginOperateGroup('paren'); App.Caret.Send(arg) if(arg=='('){App.Caret.Send(')');App.Caret.MoveLeft(1);} if(arg=='['){App.Caret.Send(']');App.Caret.MoveLeft(1);} if(arg=='{'){App.Caret.Send('}');App.Caret.MoveLeft(1);} if(arg=='"'){App.Caret.Send('"');App.Caret.MoveLeft(1);} if(arg=="'"){App.Caret.Send("'");App.Caret.MoveLeft(1);} App.Caret.EndOperateGroup(); } addClass(new class_srcfile());