「自動箇条書き」の版間の差分

MSY-07 (トーク | 投稿記録)
日付のフォーマットを変更
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(2人の利用者による、間の8版が非表示)
5行目: 5行目:


== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
#language = "JScript"
#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 = Editor.ActiveDocument.Selection.GetActivePointY(mePosLogical);
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 = Editor.ActiveDocument.GetLine(ty, 0);
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 = Editor.ActiveDocument.GetLine(i, 0);
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));
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)
** 初版
スポンサーリンク