2021年1月16日土曜日

カスタマイズ内容を一行編集で検索、取得

以前の記事以降、

ppcust cd filename -mask:M_*

のようにしてカスタマイズ内容の一部を出力できるようになった。これを利用し、外部ソフトなしで、一行編集によるカスタマイズ内容の検索と取得をできるようにする。
PPX.CFGをPPxフォルダに置いて、以下を編集して取込。

_Command	= {	; ユーザコマンド・関数
getcfg	= %Os *string o,name=%*input("" -title:"カスタマイズ内容部分取得" -mode:e -k:"*completelist /set /file:""%%0PPX.CFG""") %:
 *ppcust cd %'temp'\cfg.txt -mask:%*regexp("%so"name"","s/^(.*)\s=.*/$1/") %:
 editor %'temp'\cfg.txt
}

*getcfgを実行すると、PPX.CFGを補完候補リストにした一行編集が表示される。選択すると、そのIDの現在の内容がテキストファイルに出力され、それをエディタで表示する。

僕は登録しているエディタではなく、PPeを使って表示している。その際は次のようになる。

_Command	= {	; ユーザコマンド・関数
getcfg	= %Os *string o,name=%*input("" -title:"カスタマイズ内容部分取得" -mode:e -k:"*completelist /set /file:""%%0PPX.CFG""") %:
 *ppcust cd %'temp'\cfg.txt -mask:%*regexp("%so"name"","s/^(.*)\s=.*/$1/") %:
 *edit %'temp'\cfg.txt
}

追記 2021-02-10

エディタではなくPPVで表示させた方が、編集した際に保存するか否かの確認されない分いいかもなと思った。その際は次のようになる

_Command	= {	; ユーザコマンド・関数
getcfg	= %Obdsq *string o,name=%*input("" -title:"カスタマイズ内容部分取得" -mode:e -k:"*completelist /set /file:""%%0PPX.CFG""") %:
 *ppcust cd %'temp'\cfg.txt -mask:%*regexp("%so"name"","s/^(.*)\s=.*/$1/") %:
 type %'temp'\cfg.txt | %0PPVW.EXE -bootid:C
}

追記 2021-03-29

最近の更新で、PPeで保存するか否かの確認を無くせるようになった。

_Command	= {	; ユーザコマンド・関数
getcfg	= %Os *string o,name=%*input("" -title:"カスタマイズ内容部分取得" -mode:e -k:"*completelist /set /file:""%%0PPX.CFG""") %:
 *ppcust cd %'temp'\cfg.txt -mask:%*regexp("%so"name"","s/^(.*)\s=.*/$1/") %:
 *edit %'temp'\cfg.txt -k *editmode -modify:silent
}

0 件のコメント:

コメントを投稿