「利用者:黄身」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
黄身 (トーク | 投稿記録)
編集の要約なし
黄身 (トーク | 投稿記録)
編集の要約なし
47行目: 47行目:


=KILI.js=
=KILI.js=
[[ファイル:kili.zip]]<br />
グローバルに用意しているのはこの「KILI」オブジェクトと次の項に挙げたいくつかのみ。<br />
グローバルに用意しているのはこの「KILI」オブジェクトと次の項に挙げたいくつかのみ。<br />
(これ以外のファイルでも)引数のコメントで「*」が付いてるものは既定値。
(これ以外のファイルでも)引数のコメントで「*」が付いてるものは既定値。
57行目: 58行目:
==オブジェクト==
==オブジェクト==
;Point
;Point
座標を表すオブジェクト。今のところx,yが含まれているだけ。
:座標を表すオブジェクト。今のところx,yが含まれているだけ。
==KILIオブジェクトに含まれないもの==
==KILIオブジェクトに含まれないもの==
あまりにもよく使ってるので特別にグローバルに用意。よほどの事がない限りこれ以上増やさない。
あまりにもよく使ってるので特別にグローバルに用意。よほどの事がない限りこれ以上増やさない。
;GDO
:Documentを取得。
;GEO
;GEO
Editorを取得。
:Editorを取得。
*eIndex:<number> エディタのインデックス。不正な値の場合はアクティブ。
*return:<Document>
;GDO
Documentを取得。
*dIndex:<number> 文書のインデックス。不正な値の場合はアクティブ。
*eIndex:<number> エディタのインデックス。不正な値の場合はアクティブ。
*return:<Document>
;GSO
;GSO
Selectionを取得。
:Selectionを取得。
*$d:<Document|number>
**Document 対象のDocument。
**number 文書のインデックス。*undefined:アクティブ。
*eIndex:<number> @$dで#numberを指定した場合、エディタのインデックス。
*return:<Selection>
;O
;O
OutputBar.Writeln()へのショートカット。<br />
:OutputBar.Writeln()へのショートカット。
null、undefinedは念のため文字列として出力。
;Seiko
*data:<Object> 出力データ。
:時間を計測する。
*nobreak:<boolean> 改行しない。
*clear:<boolean> 出力前にウィンドウをクリアする。
*focus:<boolean> 出力ウィンドウにフォーカスを移す。
;Seiko.run
関数を指定回数実行して時間計測。
*func:<Function> 計測する関数。
*count:<number> 実行回数。
*return:<number> 経過時間。


==KILI.selex==
==KILI.selex==
Selection拡張。KILI.editと違い、文書は編集されない。
Selection拡張。KILI.editと違い、文書は編集されない。
;atEOF
:文末かどうか。
;atLogicalEnd
:論理行末かどうか。
;atLogicalHead
:論理行頭かどうか。
;atViewEnd
:表示行末かどうか。
;atViewHead
:表示行頭かどうか。
;getBottomPos
;getBottomPos
選択範囲の文末側の位置を取得。
:選択範囲の文頭側の位置を取得。
;getDirection
;getDirection
テキスト選択方向を取得。
:テキスト選択方向を取得。
*return:<number> 0:無選択、1:順方向、-1:逆方向。
;getLeft
;getLineEndPos
:キャレットより左の文字列を取得。
全ての論理行末の位置を取得。
;getLogicalEndPos
*return:<Array>
:全ての論理行末の位置を取得。
;getLineHeadPos
;getLogicalHeadPos
全ての論理行頭の位置を取得。
:全ての論理行頭の位置を取得。
*return:<Array>
;getRange
;getRange
選択範囲を取得する。
:選択範囲を取得する。
*posType:<number> 形式。*0:文頭からの位置、1:論理行、2:物理行。
;getRight
*topToBottom:<number> true:常に文頭側を開始位置とする、*false:選択方向に従う。
:キャレットより右の文字列を取得。
*return:<Object{start,end}>
**start,end:<number|KILI.Point> 開始位置、終了位置。
;getTopPos
;getTopPos
選択範囲の文頭側の位置を取得。
:選択範囲の文末側の位置を取得。
;getViewEndPos
;getViewEndPos
全ての表示行末の位置を取得。
:全ての表示行末の位置を取得。
;getViewHeadPos
;getViewHeadPos
全ての表示行頭の位置を取得。
:全ての表示行頭の位置を取得。
;getWrapPos
;getWrapPos
全ての折り返し位置を取得。
:全ての折り返し位置を取得。
*asLogical:<boolean> 論理行・桁で返す。
;inline
*return:<Array> @asLogicalがtrueならば各要素は{x,y}。
:行内選択かどうか。
;aatLogicalEnd
論理行末かどうか。
*x:<number> 表示行桁もしくは文頭からの位置。*:現在位置。
*y:<number> 表示行。*:@xを文頭からの位置とみなす。
*return:<boolean>
;atLogicalHead
論理行頭かどうか。
*x:<number> 表示行桁もしくは文頭からの位置。*:現在位置。
*y:<number> 表示行。*:@xを文頭からの位置とみなす。
*return:<boolean>
;logicalToPos
;logicalToPos
論理行・桁を文頭からの位置に変換。
:論理行・桁を文頭からの位置に変換。
*x:<KILI.Point||number>
**KILI.Point 論理行。
**number 論理行桁。
*y:<number> @xがnumberのとき、論理行。
;logicalToView
;logicalToView
論理行・桁を表示行・桁に変換。
:論理行・桁を表示行・桁に変換。
*x:<KILI.Point||number>
;multiline
**KILI.Point 論理行。
:複数行に渡る選択かどうか。
**number 論理行桁。
*y:<number> @xがnumberのとき、論理行。
;posToLogical
;posToLogical
文頭からの位置を論理行・桁に変換。
:文頭からの位置を論理行・桁に変換。
*pos:<number> 文頭からの位置。
*return:<KILI.Point>
;posToView
;posToView
文頭からの位置を表示行・桁に変換。
:文頭からの位置を表示行・桁に変換。
*pos:<number> 文頭からの位置。
*return:<KILI.Point>
;reverse
;reverse
選択範囲を反転する。
:選択範囲を反転する。
;searchTextLines
;searchTextLines
文字列を含む論理行を取得。
:文字列を含む論理行を取得。
*seg:<String||RegExp> 指定しない場合は選択部分。
*noText:<boolean> 文字列を含まない行を取得。
*return:<Array>
;searchTextPos
;searchTextPos
文字列を文書全体から探して位置を取得。
:文字列を文書全体から探して位置を取得。
*seg:<String||RegExp> 指定しない場合は選択部分。
*return:<Array>
;selectIfEmpty
;selectIfEmpty
選択されていなければ選択する。
:選択されていなければ選択する。
*range:<number> 選択範囲。*0:全体、1:論理行、2:表示行。
;selectLines
;selectLines
複数の行を選択。。
:複数の行を選択。。
*from:<number> 開始行。
*num:<number> 選択行数。0:選択しない、負:文頭方向へ選択。
*selectBreak:<boolean> true:選択終了位置の改行も選択する、*false:改行前まで。
*asView:<boolean> 物理行で処理する。
;setRange
;setRange
範囲選択する。
:範囲選択する。
*start,end:<number|KILI.Point> 開始位置、終了位置。
**number 文頭からの位置
**Object *論理行での位置。@asViewがtrueなら表示行。
*asView:<boolean> @start,@endを表示行で指定する。
;viewToLogical
;viewToLogical
表示行・桁を論理行・桁に変換。
:表示行・桁を論理行・桁に変換。
*x:<KILI.Point||number>
**KILI.Point 表示行。
**number 表示行桁。
*y:<number> @xがnumberのとき、表示行。
*return:<KILI.Point>
;viewToPos
;viewToPos
表示行・桁を文書先頭からの位置に変換。
:表示行・桁を文書先頭からの位置に変換。
*x:<KILI.Point||number>
;wholeLine
**KILI.Point 表示行。
:行の全体を選択しているかどうか。
**number 表示行桁。
;wholeLines
*y:<number> @xがnumberのとき、表示行。
:複数行の全体を選択しているかどうか。
*return:<number>


==KILI.edit==
==KILI.edit==
Selection拡張。KILI.selexと違い、文書は編集される。
Selection拡張。KILI.selexと違い、文書は編集される。
;breakAll
;breakAll
文字列を全て改行にする。
:文字列を全て改行にする。
*seg:<String> 指定しない場合は選択部分。
*return:<boolean> 置換したかどうか。
;deleteAll
;deleteAll
文字列を全て削除。
:文字列を全て削除。
*seg:<String> 指定しない場合は選択部分。
*return:<boolean> 削除したかどうか。
;deleteAllNoTextLines
;deleteAllNoTextLines
文字列を含まない行を全て削除。
:文字列を含まない行を全て削除。
*seg:<String> 指定しない場合は選択部分。
*return:<boolean> 削除したかどうか。
;deleteAllTextLines
;deleteAllTextLines
文字列を含む行を全て削除。
:文字列を含む行を全て削除。
*seg:<String> 指定しない場合は選択部分。
*return:<boolean> 削除したかどうか。
;deleteLine
;deleteLine
行削除。
:行削除。
*line:<number> 削除行。
*asView:<boolean> true:表示行、*false:論理行。
*return:<boolean> 削除したかどうか。
;deleteLines
;deleteLines
行を全て削除。
:行を全て削除。
*lines:<Array> 行番号。
*asView:<boolean> true:表示行、*false:論理行。
*return:<boolean> 削除したかどうか。
;duplicate
;duplicate
論理行二重化。
:論理行二重化。
無選択時は現在の論理行、複数行選択時は範囲内の論理行、行内選択時は選択部分を二重化。
;sort
;sort
テキストソート。
:テキストソート。
選択範囲の論理行が対象。無選択の場合は全体。行内選択の場合長さ順は無効。
*sortType:<number> ソートの種類。*0:逆順、1:昇順、2:降順、3:長さ昇順、4:長さ降順。


==KILI.docex==
==KILI.docex==
229行目: 162行目:
あまり仕様が固まってないので激変の可能性あり。
あまり仕様が固まってないので激変の可能性あり。
;clone
;clone
文書のクローンを作成。
:文書のクローンを作成。
*destination:<Editor> 文書作成先のEditor。*:アクティブ。
*return:<Document> 作成した文書。
;listupAll
;listupAll
全てのDocumentを取得。
:全てのDocumentを取得。
*asObject:<boolean> 結果を{editorIndex:{documentIndex:Document}}の形式で返す。
*return:<Array||Object>
;newFile
;newFile
テキストとスタイルを指定して新規作成。
:テキストとスタイルを指定して新規作成。
*text:<String>
*encoding:<Document.Encoding> *:自動選択。
*mode:<Document.Mode> *:Text
*readOnly:<Document.ReadOnly> *:false
*overwrite:<Selection.OverwriteMode> *:false
*destination:<Editor> 文書作成先のEditor。*:アクティブ。
*return:<Document> 作成した文書。


=KILI.code.js=
=KILI.code.js=
[[ファイル:kili.zip]]<br />
文字・コードポイントの相互変換とその表現を扱う。Unicodeのみが対象。
文字・コードポイントの相互変換とその表現を扱う。Unicodeのみが対象。
;decode
;decode
コードポイントの配列を文字列に変換。
:コードポイントの配列を文字列に変換。
*code:<Array> 文字コードの配列。
*return:<String>
;decodeAll
;decodeAll
文字列中のコード表現を文字列にする。<br />
:文字列中のコード表現を文字列にする。
対応する形式
{|class="wikitable"
|U+hhhh||Unicode形式
|-
|\uhhhh||正規表現
|-
|\x{hhhh}||鬼車などの正規表現
|-
|&#dddd||実体参照(十進法)
|-
|&#xhhhh||実体参照(十六進法)
|}
*seg:<String>
*return:<String>
;decodeSurrogate
;decodeSurrogate
サロゲートペアをコードポイントに変換。
:サロゲートペアをコードポイントに変換。
*higher,lower:<number> 上位・下位サロゲート。
*return:<number>
;encode
;encode
文字列をコードポイントの配列に変換。
:文字列をコードポイントの配列に変換。
*seg:<String>
*surrogate:<boolean> サロゲートペアで出力する。
*alignmentString:<number> 指定した桁数の文字列で出力する。
*return:<Array>
;encodeSurrogate
;encodeSurrogate
コードポイントをサロゲートペアで表現。<br />
:コードポイントをサロゲートペアで表現。
コードポイントが0x10000未満の場合そのまま返す。
*code:<number>
*return:<Array[high,low]|number>
;fromCharCode
;fromCharCode
0x10000以上にも対応したfromCharCode。<br />
:0x10000以上にも対応したfromCharCode。
引数・戻り値はfromCharCodeと同じ。
*args:<number>
*return:<string>
;fromEntity
;fromEntity
文字列中の数値実体参照(&#dddd,&#xhhhh)を文字に変換。
:文字列中の数値実体参照(&#dddd,&#xhhhh)を文字に変換。
*seg:<String>
*radix:<boolean> true:十進数のみ、false:十六進数のみ、*:両方。
*return:<String>
;fromOnig
;fromOnig
文字列中の鬼車のコード表現(\x{hhhh})を文字に変換。
:文字列中の鬼車のコード表現(\x{hhhh})を文字に変換。
*seg:<String>
*return:<String>
;fromRegex
;fromRegex
文字列中の正規表現のコード表現(\uhhhh)を文字に変換。
:文字列中の正規表現のコード表現(\uhhhh)を文字に変換。
*seg:<String>
*return:<String>
;fromUnicode
;fromUnicode
文字列中のUnicodeのコード表現(U+hhhh)を文字に変換。
:文字列中のUnicodeのコード表現(U+hhhh)を文字に変換。
*seg:<String>
*return:<String>
;toEntity
;toEntity
文字列を数値実体参照(&#dddd,&#xhhhh)に変換。
:文字列を数値実体参照(&#dddd,&#xhhhh)に変換。
*seg:<String>
*surrogate:<boolean> サロゲートペアで出力する。
*alignmentString:<number> 指定した桁数の文字列で出力する。
*radix:<boolean> true:十進数表記、*false:十六進数表記。
*return:<String>
;toOnig
;toOnig
文字列を鬼車のコード表現(\x{hhhh})に変換。
:文字列を鬼車のコード表現(\x{hhhh})に変換。
*seg:<String>
*surrogate:<boolean> サロゲートペアで出力する。
*alignmentString:<number> 指定した桁数の文字列で出力する。
*return:<String>
;toRegex
;toRegex
文字列を正規表現のコード表現(\uhhhh)に変換。
:文字列を正規表現のコード表現(\uhhhh)に変換。
*seg:<String>
*surrogate:<boolean> サロゲートペアで出力する。
*alignmentString:<number> 指定した桁数の文字列で出力する。
*return:<String>
;toUnicode
;toUnicode
文字列をUnicodeのコード表現(U+hhhh)に変換。
:文字列をUnicodeのコード表現(U+hhhh)に変換。
*seg:<String>
*surrogate:<boolelan> サロゲートペアで出力する。
*alignmentString:<number> 指定した桁数の文字列で出力する。
*return:<String>


=組み込みオブジェクト拡張=
=組み込みオブジェクト拡張=
[[ファイル:kili.zip]]<br />
名前の衝突に注意。特にStringExはincludeライブラリのStringExと衝突しています。
名前の衝突に注意。特にStringExはincludeライブラリのStringExと衝突しています。
==ArrayEx.js==
==ArrayEx.js==
組み込みArray拡張。
組み込みArray拡張。
;clone
;clone
配列を値渡し。
:配列を値渡し。
*return:<Array>
;compact
;compact
空文字列、null、undefinedを削除する。
:空文字列、null、undefinedを削除する。
*return:<Array>
;del
;del
一致した要素を削除。
:一致した要素を削除。
*args:<*> 削除する要素。
*return:<Array>
;indexOf
;indexOf
配列から文字列を検索。
:配列から文字列を検索。
*str:<string> 検索文字列。
*from:<number> 検索開始インデックス。
*return:<number> 配列インデックス。見つからなければ-1。
;insert
;insert
要素を挿入する。
:要素を挿入する。
*pos:<number> 挿入位置。
*item:<Object> 挿入要素。
*return:<Array>
;last
;last
配列の最後の要素を返す。
:配列の最後の要素を返す。
*return:<*>
;mine
;mine
指定条件にマッチする要素を集める。
:指定条件にマッチする要素を集める。
*func:<Function(element)> 条件を判定する関数。
**element:<*> 配列の各要素。
**return:<boolean>
*returnElement:<boolean> true:要素自体を返す。false:インデックスを返す。
*return:<Array>
e.g.
e.g.
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
370行目: 224行目:
[1,2,3,4,5].mine(function(e){return e%2;},true); //[1,3,5]
[1,2,3,4,5].mine(function(e){return e%2;},true); //[1,3,5]
</source>
</source>
 
;pickup
;pickup。
:指定したインデックスの要素を取り出した配列を返す。
指定したインデックスの要素を取り出した配列を返す。
*args:<number> 取り出す要素のインデックス。
*return:<Array>
e.g.
e.g.
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
380行目: 231行目:
</source>
</source>
;siblings
;siblings
オブジェクトの配列の各要素から同名のプロパティを取得。
:オブジェクトの配列の各要素から同名のプロパティを取得。
*name:<string> プロパティ名。
*return:<Array>
e.g.
e.g.
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
388行目: 237行目:
</source>
</source>
;undup
;undup
配列から重複を削除。
:配列から重複を削除。
*return:<Array>


==NumberEx.js==
==NumberEx.js==
395行目: 243行目:
;constrain
;constrain
数値を範囲内に収める。
数値を範囲内に収める。
*min,max:<number> 最小値、最大値。
*return:<number>
;inRange
;inRange
n以上m以下。
n以上m以下。
*r1,r2:<number> 範囲。大小の順は不問。
*return:<boolean>
;padding
;padding
桁揃え。<br />
桁揃え。
文字列としての長さが@digitより長い場合、切り捨ては行わない。
*digit:<number> 全体の桁数。*4。
*pad:<string> 埋め文字。*0。
*return:<string>
;toHexString
;toHexString
十六進数表記で返す。
十六進数表記で返す。
*return:<string>


==StringEx.js==
==StringEx.js==
Stringオブジェクト拡張
Stringオブジェクト拡張
;crlf
;crlf
改行をCRLFにする。
:改行をCRLFにする。
*return:<string>
;cut
;cut
指定の長さで分割。
:指定の長さで分割。
*args[0]:<number> 最初の分割長。argsが1つだけの場合、負:分割しない、0:(0,false)と同じ、正:その長さで全体を分割する。
*args[1-]:<number|boolean>
**number 2番目以降の分割長。0:空要素となる。負:その分遡る。
**boolean ここで処理を中断する。true:残りを出力しない、*false:残りを1つの要素として出力する。
*return:<Array>
e.g.
e.g.
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
430行目: 263行目:
</source>
</source>
;dQuot
;dQuot
「"」で囲む
:「"」で囲む。
*return:<string>
;enclose
;enclose
指定の文字列で囲む。
:指定の文字列で囲む。
*pre:<string> 囲み開き文字。
*post:<string> 囲み閉じ文字。*:@preと同じ。
*return:<string>
;enclosed
;enclosed
文字列で囲まれている。
:文字列で囲まれている。
*pre:<string> 囲み開き文字。
*post:<string> 囲み閉じ文字。*:@preと同じ。
*ignoreCase:<boolean> 大文字小文字を無視する。
*return:<boolean>
;endsWith
;endsWith
末尾にマッチする。
:末尾にマッチする。
*seg:<string> マッチ文字列。
*ignoreCase:<boolean> 大文字小文字を無視する。
*return:<boolean>
;insert
;insert
文字列を挿入する。
:文字列を挿入する。
*seg:<string> 挿入する文字列。
*pos:<number> 挿入位置。
*return:<string>
;repeat
;repeat
文字列を繰り返す。
:文字列を繰り返す。
*count:<number> 繰り返し回数。
*return:<string>
;sQuot
;sQuot
「'」で囲む。
:「'」で囲む。
*return:<string>
;startsWith
;startsWith
先頭にマッチする。
:先頭にマッチする。
*seg:<string> マッチ文字列。
*ignoreCase:<boolean> 大文字小文字を無視する。
*return:<boolean>


=SimplePM.js=
=SimplePM.js=
[[ファイル:kili.zip]]<br />
テキストと実行コマンドのみからなる単純なPopupMenu。
テキストと実行コマンドのみからなる単純なPopupMenu。
;メニューの定義
;メニューの定義
489行目: 303行目:
==メソッド==
==メソッド==
;create
;create
メニューを作成。
:メニューを作成。
*menu:<Array> メニュー定義の配列。
*returnPopupMenu:<boolean> true:PopupMenuを返す、*false:自身を返す。
*return:<PopupMenu||PPM>
;getCommand
;getCommand
IDの項目のコマンドを返す。
:IDの項目のコマンドを返す。
*id:<number> ID。
*return:<*> 未定義の場合はテキストを返す。
;getIdFromPosition
;getIdFromPosition
メニューの位置からIDを取得。
:メニューの位置からIDを取得。
*pos:<string> 位置。0起点で、上位の階層とは「-」で繋ぐ。
*return:<number||undefined>
e.g.(冒頭の続き)
e.g.(冒頭の続き)
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
506行目: 313行目:
</source>
</source>
;getResult
;getResult
前回の実行結果を返す。
:前回の実行結果を返す。
*return:<Object{id,result}> trackを参照。
;getText
;getText
IDの項目のテキストを返す。
:IDの項目のテキストを返す。
*id:<number> ID。
;modify
;modify
メニューの一部を変更する。
:メニューの一部を変更する。
*id:<number> アイテムのID。
*@item:<command> 置き換えるメニューの定義。
e.g.(冒頭の続き)
e.g.(冒頭の続き)
<source lang="javascript" style="word-wrap:break-word;">
<source lang="javascript" style="word-wrap:break-word;">
520行目: 323行目:
</source>
</source>
;track
;track
メニューを表示、コマンドを実行。<br />
:メニューを表示、コマンドを実行。
コマンドが関数・配列でない場合はその値を返す。関数・配列を返したい場合は関数内でreturnする。
 
*pos:<number> *0:カーソル位置に表示、1:キャレット位置に表示。
=SSnippet.js=
*returnId:<boolean> コマンド未定義の場合の返り値。true:ID、*false:メニューのテキスト。
[[ファイル:SSnippet.zip]]<br />
*return:<Object{id,result}>
キャレット直前の文字列をキーとして補完する。
**id:<number> ID。キャンセルした場合は0。
;SSnippet
**result:<*> 関数の返り値、コマンドの内容、もしくは@returnIdに従う。
:本体。補完候補の登録もここから出来る。
==メソッド==
;SSnippet.registFromKey
:選択文字列をキーとして登録。
;SSnippet.regist
:選択文字列を補完内容として登録。

2015年4月8日 (水) 17:06時点における版

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.zip
グローバルに用意しているのはこの「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

ファイル:kili.zip
文字・コードポイントの相互変換とその表現を扱う。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)に変換。

組み込みオブジェクト拡張

ファイル:kili.zip
名前の衝突に注意。特に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

ファイル:kili.zip
テキストと実行コマンドのみからなる単純な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.zip
キャレット直前の文字列をキーとして補完する。

SSnippet
本体。補完候補の登録もここから出来る。

メソッド

SSnippet.registFromKey
選択文字列をキーとして登録。
SSnippet.regist
選択文字列を補完内容として登録。
スポンサーリンク