「自動箇条書き」の版間の差分
日付のフォーマットを変更 |
SyntaxHighlightにcopyの追加 |
||
| (2人の利用者による、間の8版が非表示) | |||
| 5行目: | 5行目: | ||
== ソースコード == | == ソースコード == | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript" copy> | ||
#title = "箇条書き" | #title = "箇条書き" | ||
// itemizer.js | // itemizer.js | ||
| 14行目: | 13行目: | ||
var reg = /^([\t ]*)(?:([((]*)([a-zA-Z]+|[0-9]+|[0-9]+)([))\.. ]+)|([--・・**■□]))/; | var reg = /^([\t ]*)(?:([((]*)([a-zA-Z]+|[0-9]+|[0-9]+)([))\.. ]+)|([--・・**■□]))/; | ||
var ty = | var ty = editor.ActiveDocument.selection.GetActivePointY(mePosLogical); | ||
var trymax = 5; | var trymax = 5; | ||
var tyend = (ty - trymax > 0) ? ty - trymax : 1; | var tyend = (ty - trymax > 0) ? ty - trymax : 1; | ||
| 20行目: | 19行目: | ||
var result; | var result; | ||
var resultary = []; | var resultary = []; | ||
var thisline = | var thisline = editor.ActiveDocument.GetLine(ty, 0); | ||
var indent = thisline.replace(/^([ \t]*).*/, "$1"); | var indent = thisline.replace(/^([ \t]*).*/, "$1"); | ||
for (var i = ty; i >= tyend; i--) { | for (var i = ty; i >= tyend; i--) { | ||
line = | line = editor.ActiveDocument.GetLine(i, 0); | ||
var linechk = line.replace(/^([ \t]*).*/, "$1"); | var linechk = line.replace(/^([ \t]*).*/, "$1"); | ||
if (i < ty && linechk.length < indent.length) { | if (i < ty && linechk.length < indent.length) { | ||
| 40行目: | 39行目: | ||
} | } | ||
editor.ActiveDocument.Write(bulletSucc(resultary, thisline)); | |||
function bulletSucc(resultary, thisline) { | function bulletSucc(resultary, thisline) { | ||
| 67行目: | 66行目: | ||
} | } | ||
if (thisline.replace(/^[ \t]+/, "").length == 0) { | if (thisline.replace(/^[ \t]+/, "").length == 0) { | ||
return chklast[2] + s + chklast[4] + chklast[5]; | return (chklast[2] || "") + s + (chklast[4] || "") + (chklast[5] || ""); | ||
} else { | } else { | ||
return "\n" + chklast[1] + chklast[2] + s + chklast[4] + chklast[5]; | return "\n" + (chklast[1] || "") + (chklast[2] || "") + s + (chklast[4] || "") + (chklast[5] || ""); | ||
} | } | ||
} | } | ||
| 75行目: | 74行目: | ||
== 変更履歴 == | == 変更履歴 == | ||
* 2013-03-15 | * 1.0.4 (2013-03-15) | ||
** | ** 空行があったときの動作を修正 | ||
* 2013-03-07 | * 1.0.3 (2013-03-07) | ||
** | ** 数字の加算時にインデントのチェックをするようにした | ||
** | ** その他こまかい動作の修正 | ||
* 2013-03-06 | * 1.0.2 (2013-03-06) | ||
** | ** 全角数字に対応 | ||
** | ** 箇条書きが一行しかないとエラーになるのを修正 | ||
* 1.0.1 (2013-03-02) | |||
** 不明 | |||
* 1.0.0 (2013-02-27) | |||
** 初版 | |||
スポンサーリンク