ハルナアウトライン用の完了/未完了フラグをノード名に反映する
ナビゲーションに移動
検索に移動
#title = "ハルナから状態反映" /*********************************************************************************************************** ************************************************************************************************************ ** ** 当マクロはhalna氏作成のAndroidアプリ「ハルナアウトライン」 ** https://play.google.com/store/apps/details?id=jp.blogspot.halnablue.HalnaOutliner ** とMeryを併用する前提で、Mery側に欲しい機能を私が勝手にマクロで実装したものです。 ** 当マクロはhalna氏作成のAndroidアプリ「ハルナアウトライン」と直接の関係はありません。 ** 当マクロについてhalna氏への問い合わせはおやめください。 ** ** ハルナアトラインで更新・作成したファイルの完了(チェックフラグ)をノード名先頭へ反映する。 ** ハルナアウトラインでは、.+ノード名+[タブ]+0,0,0,0,0で特殊フラグ管理している。 ** フラグのないノードについては判断不能として能動的に完了か未了にする(完了未了切替マクロ)まで*表示にする。 ** チェックフラグは(0?,)の3番目。 ** ** □☑*いずれも持たないノードの末尾のフラグが…… ** フラグ=1 完了とする。ノード名を"☑"+ノード名へ更新する。 ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,1,\d?,\d?)/ ** 【置換先】 $01☑$02 ** ** フラグ=0 未了とする。ノード名を"□"+ノード名へ更新する。 ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+\t\d?,\d?,0,\d?,\d?)/ ** 【置換先】 $01□$02 ** ** フラグがない *判断不能とする。 ** 【置換元】 /^(?!\.+[□|☑|*])(\.+)(\S+)$/ ** 【置換先】 $01*$02 ** ** □☑*いずれかを持つノードの末尾のフラグが…… ** フラグ=1 完了とする。ノード名の先頭1文字を"☑"へ更新する。 ** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,1,\d?,\d?)/ ** 【置換先】 $01☑$03 ** ** フラグ=0 未了とする。ノード名の先頭1文字を"□"へ更新する。 ** 【置換元】 /^(\.+)(□|☑|*)(\S+\t\d?,\d?,0,\d?,\d?)/ ** 【置換先】 $01□$03 ** ** フラグがない *判断不能とする。 ** 【置換元】 /^(\.+)(□|☑|*)(\S+)$/ ** 【置換先】 $01*$03 ** ************************************************************************************************************ ***********************************************************************************************************/ redraw=false; with(document.selection){ StartOfDocument(false); Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$02", meFindNext | meFindReplaceRegExp | meReplaceAll); StartOfDocument(false); Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$02", meFindNext | meFindReplaceRegExp | meReplaceAll); StartOfDocument(false); Replace("^(?!\\.+[□|☑|*])(\\.+)(\\S+)$", "$01*$02", meFindNext | meFindReplaceRegExp | meReplaceAll); StartOfDocument(false); Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,1,\\d?,\\d?)", "$01☑$03", meFindNext | meFindReplaceRegExp | meReplaceAll); StartOfDocument(false); Replace("^(\\.+)(□|☑|*)(\\S+\\t\\d?,\\d?,0,\\d?,\\d?)", "$01□$03", meFindNext | meFindReplaceRegExp | meReplaceAll); StartOfDocument(false); Replace("^(\\.+)(□|☑|*)(\\S+)$", "$01*$03", meFindNext | meFindReplaceRegExp | meReplaceAll); } redraw=true;
スポンサーリンク