「ハルナアウトライン用の完了/未完了フラグをノード名に反映する」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Ver2.6.12「[置換後の文字列] で "$01" ~ "$99" に対応」に対応して、"$1" ~ "$9"→"$01" ~ "$99"に変更
MSY-07 (トーク | 投稿記録)
ハイライト効果の適用
1行目: 1行目:
<syntaxhighlight lang="javascript">
  #title = "ハルナから状態反映"
  #title = "ハルナから状態反映"
  /***********************************************************************************************************
  /***********************************************************************************************************
59行目: 60行目:
  }
  }
  redraw=true;
  redraw=true;
</syntaxhighlight>

2023年5月16日 (火) 17:54時点における版

 #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;
スポンサーリンク