Markdown文書で改行時にリスト、引用ブロック開始記号を自動入力する

2018年7月28日 (土) 16:58時点におけるCatfist (トーク | 投稿記録)による版 (作成)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

改行を挿入し、編集モードがMarkdownでありかつ現在行がリストまたは引用ブロックの場合は開始記号を挿入します。 順序ありリスト(1.等)の場合、数値を+1します。

// by catfist
// 
// 編集モードが'Markdown'の場合のみ実行
// 現在行が以下の構文を含む場合、改行して行頭に開始記号を追加する
// (順序ありリストの場合は数値を1加算する)
// Enterに割り当てて使うことを想定
// 
// 順序なしリスト: '-','*','+'
// 順序ありリスト: '1.','2.'...
// 引用ブロック  : '>'
// 
// [2018-07-27] var1.0

if (Document.Mode == "Markdown") { // 編集モードがMarkdownの場合
    // 現在行の内容を取得
    var s = Document.GetLine(Document.Selection.GetActivePointY(mePosLogical), 0);
    // リストまたはブロックコメント開始記号に一致する部分を取得
    var s_syntax = s.replace(/^[ \s]*([-\*\+>] ?|\d\. ?).*$/,"$1");
    // 順序ありリストの場合は数値を+1する
    var s_num = s_syntax.replace(/^(\d+).*/,"$1");
    if (s_num !== "") {
        s_num = Number(s_num)
        s_num = s_num + 1
        s_syntax = s_syntax.replace(/^\d+/,s_num);
    }
}
else { // 編集モードがMarkdown以外の場合は改行のみ
    s_syntax = ""
}
// 改行と開始記号を挿入
Document.Selection.Text = "\n" + s_syntax;
スポンサーリンク