「利用者:黄身」の版間の差分
編集の要約なし |
編集の要約なし |
||
| 172行目: | 172行目: | ||
=KILI.code.js= | =KILI.code.js= | ||
文字・コードポイントの相互変換とその表現を扱う。Unicodeのみが対象。 | 文字・コードポイントの相互変換とその表現を扱う。Unicodeのみが対象。 | ||
;decode | ;decode | ||
| 204行目: | 203行目: | ||
=組み込みオブジェクト拡張= | =組み込みオブジェクト拡張= | ||
名前の衝突に注意。特にStringExはincludeライブラリのStringExと衝突しています。 | 名前の衝突に注意。特にStringExはincludeライブラリのStringExと衝突しています。 | ||
==ArrayEx.js== | ==ArrayEx.js== | ||
| 245行目: | 243行目: | ||
Numberオブジェクト拡張 | Numberオブジェクト拡張 | ||
;constrain | ;constrain | ||
数値を範囲内に収める。 | :数値を範囲内に収める。 | ||
;inRange | ;inRange | ||
n以上m以下。 | :n以上m以下。 | ||
;padding | ;padding | ||
桁揃え。 | :桁揃え。 | ||
;toHexString | ;toHexString | ||
十六進数表記で返す。 | :十六進数表記で返す。 | ||
==StringEx.js== | ==StringEx.js== | ||
| 332行目: | 330行目: | ||
:本体。補完候補の登録もここから出来る。 | :本体。補完候補の登録もここから出来る。 | ||
==メソッド== | ==メソッド== | ||
;SSnippet. | ;SSnippet.file | ||
: | :定義ファイルのパス。 | ||
;SSnippet.listup | |||
:補完リストを作成。 | |||
;SSnippet.regist | ;SSnippet.regist | ||
: | :選択文字列を登録。 | ||
2015年4月10日 (金) 14:59時点における版
Ginnieから移行中。何か変な所があったらその癖が抜けてないせいです……
覚え書き
- Document.GetLine
デフォルトでは表示行を取得。meGetLineLogicalが未定義なので0を指定する。
- 最初の数
- 行:1 (Document.GetLine)
- 文頭からの位置:0 (Selection.GetActivePos)
- 桁:1 (Selection.GetActivePointX)
- Editor,Document:0 (Editors.Item.Documents.Item)
- Window.Document
Document.NewFile後も更新されない。
Editor.ActiveDocument.NewFile();
Alert(Document.Text);
- Editor.FindInFiles
- ディレクトリ名は最後を"\\"か"\\*"にする。
- アクティブな文書が結果表示で乗っ取られる。
- PopupMenu.Track
- 引数無しだとエラー。0でキャレット位置に表示。mePosMouseは1。
- キャンセルした場合の返り値は0。
- 返り値を変数に入れるなりOutputするなりしないとメニューは表示されない。
- 領域外をクリックしてキャンセルした場合、続けてTrackしていても実行されない。Escでだとされる。
var p=CreatePopupMenu();
p.Add("1");
var x=p.Track(0); //ここでキャンセル
if(x==0){
x=p.Track(0);
}
- Selection.Replace
検索文字列が0x000aから始まるとき、meFindReplaceRegExpを指定しないと、meReplaceAllがおかしい。
Selection.Replace("\n","",meReplaceAll); //最初の1つだけ処理される
Selection.Replace(";\n","",meReplaceAll); //全て処理される
Selection.Replace("\n;","",meReplaceAll); //最初の1つだけ処理される
- Document.Text
代入する場合、設定上の改行コードがCRLFでも、改行記号は文字列中の改行によって変わる。
$d.Text=$d.Text //改行記号はLFになる
- include/StateBackup.js
表示行頭がActive/Anchorになる様な範囲の場合、Restoreするとそれぞれ直前の表示行末に移動する。
mePosLogicalをmePosViewに変えるといい。
リンク
KILI.js
グローバルに用意しているのはこの「KILI」オブジェクトと次の項に挙げたいくつかのみ。
(これ以外のファイルでも)引数のコメントで「*」が付いてるものは既定値。
- よく出てくる変数名
- $d:対象となる文書のDocument。
- $s:対象となる文書のSelection。
- SB:StateBackup。
$d
ほぼ全てのメソッドは最後の引数に「$d」を取る。これが指定されていない場合はアクティブな文書を対象とする。
オブジェクト
- Point
- 座標を表すオブジェクト。今のところx,yが含まれているだけ。
KILIオブジェクトに含まれないもの
あまりにもよく使ってるので特別にグローバルに用意。よほどの事がない限りこれ以上増やさない。
- GDO
- Documentを取得。
- GEO
- Editorを取得。
- GSO
- Selectionを取得。
- O
- OutputBar.Writeln()へのショートカット。
- Seiko
- 時間を計測する。
KILI.selex
Selection拡張。KILI.editと違い、文書は編集されない。
- atEOF
- 文末かどうか。
- atLogicalEnd
- 論理行末かどうか。
- atLogicalHead
- 論理行頭かどうか。
- atViewEnd
- 表示行末かどうか。
- atViewHead
- 表示行頭かどうか。
- getBottomPos
- 選択範囲の文頭側の位置を取得。
- getDirection
- テキスト選択方向を取得。
- getLeft
- キャレットより左の文字列を取得。
- getLogicalEndPos
- 全ての論理行末の位置を取得。
- getLogicalHeadPos
- 全ての論理行頭の位置を取得。
- getRange
- 選択範囲を取得する。
- getRight
- キャレットより右の文字列を取得。
- getTopPos
- 選択範囲の文末側の位置を取得。
- getViewEndPos
- 全ての表示行末の位置を取得。
- getViewHeadPos
- 全ての表示行頭の位置を取得。
- getWrapPos
- 全ての折り返し位置を取得。
- inline
- 行内選択かどうか。
- logicalToPos
- 論理行・桁を文頭からの位置に変換。
- logicalToView
- 論理行・桁を表示行・桁に変換。
- multiline
- 複数行に渡る選択かどうか。
- posToLogical
- 文頭からの位置を論理行・桁に変換。
- posToView
- 文頭からの位置を表示行・桁に変換。
- reverse
- 選択範囲を反転する。
- searchTextLines
- 文字列を含む論理行を取得。
- searchTextPos
- 文字列を文書全体から探して位置を取得。
- selectIfEmpty
- 選択されていなければ選択する。
- selectLines
- 複数の行を選択。。
- setRange
- 範囲選択する。
- viewToLogical
- 表示行・桁を論理行・桁に変換。
- viewToPos
- 表示行・桁を文書先頭からの位置に変換。
- wholeLine
- 行の全体を選択しているかどうか。
- wholeLines
- 複数行の全体を選択しているかどうか。
KILI.edit
Selection拡張。KILI.selexと違い、文書は編集される。
- breakAll
- 文字列を全て改行にする。
- deleteAll
- 文字列を全て削除。
- deleteAllNoTextLines
- 文字列を含まない行を全て削除。
- deleteAllTextLines
- 文字列を含む行を全て削除。
- deleteLine
- 行削除。
- deleteLines
- 行を全て削除。
- duplicate
- 論理行二重化。
- sort
- テキストソート。
KILI.docex
Document拡張。Editorの領分と思われるものも含む。
あまり仕様が固まってないので激変の可能性あり。
- clone
- 文書のクローンを作成。
- listupAll
- 全てのDocumentを取得。
- newFile
- テキストとスタイルを指定して新規作成。
KILI.code.js
文字・コードポイントの相互変換とその表現を扱う。Unicodeのみが対象。
- decode
- コードポイントの配列を文字列に変換。
- decodeAll
- 文字列中のコード表現を文字列にする。
- decodeSurrogate
- サロゲートペアをコードポイントに変換。
- encode
- 文字列をコードポイントの配列に変換。
- encodeSurrogate
- コードポイントをサロゲートペアで表現。
- fromCharCode
- 0x10000以上にも対応したfromCharCode。
- fromEntity
- 文字列中の数値実体参照(&#dddd,&#xhhhh)を文字に変換。
- fromOnig
- 文字列中の鬼車のコード表現(\x{hhhh})を文字に変換。
- fromRegex
- 文字列中の正規表現のコード表現(\uhhhh)を文字に変換。
- fromUnicode
- 文字列中のUnicodeのコード表現(U+hhhh)を文字に変換。
- toEntity
- 文字列を数値実体参照(&#dddd,&#xhhhh)に変換。
- toOnig
- 文字列を鬼車のコード表現(\x{hhhh})に変換。
- toRegex
- 文字列を正規表現のコード表現(\uhhhh)に変換。
- toUnicode
- 文字列をUnicodeのコード表現(U+hhhh)に変換。
組み込みオブジェクト拡張
名前の衝突に注意。特にStringExはincludeライブラリのStringExと衝突しています。
ArrayEx.js
組み込みArray拡張。
- clone
- 配列を値渡し。
- compact
- 空文字列、null、undefinedを削除する。
- del
- 一致した要素を削除。
- indexOf
- 配列から文字列を検索。
- insert
- 要素を挿入する。
- last
- 配列の最後の要素を返す。
- mine
- 指定条件にマッチする要素を集める。
e.g.
[1,2,3,4,5].mine(function(e){return e%2;}); //[0,2,4]
[1,2,3,4,5].mine(function(e){return e%2;},true); //[1,3,5]
- pickup
- 指定したインデックスの要素を取り出した配列を返す。
e.g.
[{a:1,b:2},{a:3,c:4},{a:5,d:6}].siblings("a"); //[1,3,5];
- siblings
- オブジェクトの配列の各要素から同名のプロパティを取得。
e.g.
[{a:1,b:2},{a:3,c:4},{a:5,d:6}].siblings("a"); //[1,3,5];
- undup
- 配列から重複を削除。
NumberEx.js
Numberオブジェクト拡張
- constrain
- 数値を範囲内に収める。
- inRange
- n以上m以下。
- padding
- 桁揃え。
- toHexString
- 十六進数表記で返す。
StringEx.js
Stringオブジェクト拡張
- crlf
- 改行をCRLFにする。
- cut
- 指定の長さで分割。
e.g.
"abcdefgh".cut(2); //[ab,cd,ef,gh]
"abcdefgh".cut(1,2,3,true); //[a,bc,def]
"abcdefgh".cut(1,-2,3,-1); //[a,abc,cdefgh]
- dQuot
- 「"」で囲む。
- enclose
- 指定の文字列で囲む。
- enclosed
- 文字列で囲まれている。
- endsWith
- 末尾にマッチする。
- insert
- 文字列を挿入する。
- repeat
- 文字列を繰り返す。
- sQuot
- 「'」で囲む。
- startsWith
- 先頭にマッチする。
SimplePM.js
テキストと実行コマンドのみからなる単純なPopupMenu。
- メニューの定義
- text:<string> メニューのテキスト。
- command:<Function||Array>
- Function:メニュー選択時に実行する関数。
- Array:サブメニュー。空の配列の場合、区切りとなる。
e.g.
var menu=[
["a",function(){Alert("a");}], //関数を実行する
[], //区切り
["b",[
["b-a",function(){return ["b","a"];}], //配列を返す
["b-c","b-c"] //文字列を返す
]]
]
var p=new SimplePM();
p.create(menu);
p.track();
メソッド
- create
- メニューを作成。
- getCommand
- IDの項目のコマンドを返す。
- getIdFromPosition
- メニューの位置からIDを取得。
e.g.(冒頭の続き)
p.getText(p.getIdFromPosition("2-1")); //"b-c"
- getResult
- 前回の実行結果を返す。
- getText
- IDの項目のテキストを返す。
- modify
- メニューの一部を変更する。
e.g.(冒頭の続き)
p.modify(p.getIdFromPosition("2-1"),menu[0]);
- track
- メニューを表示、コマンドを実行。
SSnippet.js
キャレット直前の文字列をキーとして補完する。
- SSnippet
- 本体。補完候補の登録もここから出来る。
メソッド
- SSnippet.file
- 定義ファイルのパス。
- SSnippet.listup
- 補完リストを作成。
- SSnippet.regist
- 選択文字列を登録。