hmPerl 秀丸マクロ用 スクリプト via ActivePerl(2022/03/07現在、このコンポーネントは、Perlの著しい衰退、及びPerlコミュニティの著しい迷走もあり、deprecated[非推奨]扱いとしています)概要秀丸マクロで「ActiverPerlの機能を秀丸マクロとしてシームレスに近い形で利用する」ためのライブラリとなります。 ActivePerlの記述をベースとしつつ、秀丸マクロとの値のやりとりや、ActivePerlの中で秀丸マクロを実行することも簡単になっています。 ダウンロード![]() 更新日 2021/04/22
for 秀丸エディタ 32bit版 動作環境
インストール
ソース例
#Perl = loaddll( hidemarudir + @"\hmPerl.dll" ); #_ = dllfuncw( #Perl, "DoString", R"PERL( use Win32; use Encode; # 現在秀丸編集中のテキスト内容。テキストの取得だけではなく、テキストの設定も可能。 my $text = hm->Edit->TotalText(); if ("表示" =~ /表/) { hm->debuginfo("表示という文字列がマッチ") } my $a = hm->Edit->CursorPos->{lineno}; hm->debuginfo("現在のカーソルのlineno:".$a); my $b = hm->Edit->CursorPos->{column}; for (1..10) { hm->debuginfo("現座のカーソルのcolumn:".$b); } # 秀丸マクロの「filename」のシンボルの内容をこのPerlに持ってくる my $filename = hm->Macro->Var('filename'); hm->debuginfo($filename); my $title = '質問'; my $decoded_title = Encode::decode('utf-8', $title); my $decoded_text = Encode::decode('utf-8', $text); $reply = Win32::MsgBox($decoded_text, 4, $decoded_title); hm->Macro->Var('$bbbbb', "Perlから秀丸マクロへと出す"); hm->Macro->Var('$ccccc', "Perlの外の秀丸マクロ空間へ"); hm->Macro->Eval(<<'MACRO' message($bbbbb); // Perlの中で秀丸マクロを実行する。 MACRO ); )PERL"); message($ccccc); // 秀丸マクロへと伝達されたものは、Perlの外からも見える freedll( #Perl ); ライセンス
|