HmPrompt 使い方

概要

ここではHmPromptの使い方の解説となります。

通常の使い方

HmPrompt.macを実行するとプロンプトがアウトプット内に現れます。
デフォルトでは「PowerShell」となっています。

PICTURE

アウトプット枠の移動と表示位置

アウトプット枠のドッキング位置は、デフォルトでは下部になっていますが、
秀丸はアウトプット枠のドッキング位置を「上部」「左部」「右部」「下部」へとドッキング位置を切り替えることが出来ます。

HmPromptは常にアウトプット枠の右半分(もしくは下半分)に表示されます。

PICTURE

プロセス単位(タブ単位)に1つずつ割り当てられる

HmPromptはタブ単位(プロセス単位)に1つずつとなります。
アウトプット枠自体は、プロセスを横断して同じものが表示されますが、
HmPromptは、そのプロセス(に対応するファイル)を開いている時だけ表示されます。

PICTURE

フォント、フォントサイズ、カラーリングの変更など

HmPrompt.macの以下の部分を変更することでコンソールウィンドウが持つプロパティを利用できるようになりますので、
それでカスタムしましょう。

HmPrompt.mac
// フォントやウィンドウの色等々を設定可能なモード
PROCESS_SETTING_MODE:
{
    #ProcessSettingMode = true; // 一旦 true に変更する
}

PICTURE

PICTURE

PICTURE

設定が終わったら元のfalseへと戻しておきましょう。

HmPrompt.mac
// フォントやウィンドウの色等々を設定可能なモード
PROCESS_SETTING_MODE:
{
    #ProcessSettingMode = false;
}

デフォルトのプロンプトの変更

「cmd」や「powershell」といった標準的なプロンプトを含め、有名なREPLも含まれています。
デフォルトの「PowerShell」のままが最良とは思いますが、旧標準コンソールの「Cmd」にする、という考え方もあるでしょう。

HmPrompt.mac
// 以下のうちどれかの行ひとつを有効にする。ご自身独自のお気に入りの「REPL」があるなら自分自身で加えてください。
PROCESS_START_INFO_DEFAULT:
{
    $ProcessFileName =  "Cmd";        $ProcessArguments = "/K";
 // $ProcessFileName =  "PowerShell"; $ProcessArguments = "-NoExit -NoLogo";
 // $ProcessFileName =  "Python";     $ProcessArguments = "";          // pythonが入っている場合のみ
 // $ProcessFileName =  "Node";       $ProcessArguments = "";          // nodeが入っている場合のみ
 // $ProcessFileName =  "irb.cmd";    $ProcessArguments = "";          // rubyが入っている場合のみ

    // REPLになっていない瞬間型のコマンド等は、以下のようにする。下記は「dir」の例。
 // $ProcessFileName =  "Cmd";        $ProcessArguments = "/K dir";
}

execmacroでHmPrompt.macを呼び出す

HmPrompt.mac本体を編集せずとも、HmPrompt.macを引数を付けて呼び出すマクロを作ることで、
プログラムや引数当を直接指定したマクロを作ることが出来ます。

MyCustom.mac
 execmacro @"C:\usr\hidemaru\HmPrompt\HmPrompt.mac", @"cmd.exe", @"/k dir", @"C:\windows";

PICTURE

  • 第1引数が「プログラム」
  • 第2引数が「引数(複数をまとめて文字列で)」
  • 第3引数が実行時に開くフォルダ

です。

「@"C:\usr\hidemaru\HmPrompt\HmPrompt.mac"」の部分は、
HmPrompt.macを実際に配置したフォルダのパスに合わせ、書き換えて下さい。

プロンプトを閉じる

それぞれのプロンプトには、プロンプトを終了させるコマンドがあります。

cmd や powershell
exit

pythonのREPLであれば、

pythonのREPLを割り当てている場合
exit()

などです。