とりあえず日記

VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ→VIM→秀丸エディタ(いまここ🍄)

MEL Script(Autodesk MAYA 2019)の強調表示

秀丸エディタでMELを強調表示する設定をアップしました。

普段は低レイヤーに生息しているプログラマですが、

アーティスト向けにTA(テクニカルアーティスト)みたいなことをしているので、ここ10年くらいはMAYAのカスタマイズも請け負ってます。

 

秀丸エディタでMELを書いているTA(テクニカルアーティスト)さん向けに強調表示をGitHubにアップしたのでご利用下さい。

 

まあ、秀丸エディタでMELを書いているTAさんはいるのか??

という素朴な疑問は脇に置いといてと、、、

f:id:ohtorii:20190504201157p:plain

MAYA MEL

強調表示は以下方針で作成しました。

  • MAYA 2019のスクリプトエディタのカラー表示にできるだけ近づける。
  • proc定義はできるだけ正確に解析する

procについて 

procは以下の定義を解析できます。

 

一行の単純なproc

global proc selectCurrentExecuterControl() 

 

2行にわたるproc

global proc
doubleClickCmdQuickHelp()

 

2行&返値の型名ありproc

global proc string
commandHelpExists(string $cmd)

 

あとは、global「あり・なし」の全部で6通り解析できます。

 

強調表示について

強調表示は4つのグループに分けました。

  • コマンド
  • 型名
  • 制御文
  • 変数

f:id:ohtorii:20190504202258p:plain

秀丸エディタ設定

グループ毎に色を変えたいときは各自でカスタマイズをお願いします。

いやー正規表現にコメントを埋め込めるので便利ですね😘

正規表現は一歩間違えると呪文になるんだよね😭 

補足

  • 強調表示定義ファイルを読み込むときに「カラー」を選択すると、上のスクリーンショットと同じ配色になります。
  • 「ファイルメニュー→その他→ファイルタイプ別の設定→その他→単語補完→詳細(X)→強調表示の定義」の設定をONにすることでMELコマンド名の補完(約5000個)が効くようになります。

ダウンロード

https://github.com/ohtorii/highlight/tree/master/hilight

 

更に補足(MELコマンドの強調表示について) 

MELコマンド一覧は以下の一行スクリプトで得ています。(ヒストリに約5000個のコマンドが出力されます)

help -l "*";

 maya_mel.highlightはテキストファイルなので、秀丸エディタで開いてこんな感じで書いてます。

161,AverageVertex
161,AveragePolygonNormalsOptions

...省略...

161,xgmAddGuide
161,xformConstraint
161,xform

 

最後に

MAYAのスクリプトエディタの方がコマンド引数の説明がポップアップして便利だけど、秀丸エディタで良きMELライフを!!

秀丸エディタの動的スニペット (Yet Another Hidemaru Snippet)を更新したよ v2.0.0

秀丸エディタの動的スニペット (Yet Another Hidemaru Snippet)を更新しました。

 

ダウンロードはこちらから

https://github.com/ohtorii/ya_hidemaru_snippet/releases

新機能

スニペットの一覧表示と引数入力を行うダイアログを用意しました。(空行でスニペットマクロを実行するとダイアログが起動します)

どんなスニペットが利用できるのか分からない……という問題に対する解決策の1つです。
スニペット挿入GUI

スニペットファイル追加

  • golang(.go)
    • main.txt
  • 秀丸マクロ(.mac)
    • if#r.txt
    • if$r.txt
    • ifr.txt
    • ife.%.txt
    • ife.txt
    • ifee.%.txt
    • ifee.txt
  • バッチファイル(.BAT)
    • date.txt
    • e.txt
    • e0.txt
    • e1.txt
    • for.txt
    • ford.txt
    • fordr.txt
    • forf.txt
    • forfr.txt
    • if.txt
    • ife.txt
    • main.txt
    • sleep.%.mac
    • sleep.mac
    • time.txt
    • touch.%.txt
    • touch.txt

スニペットの詳細はそれぞれのファイル内容を確認して下さい😅

最近Go言語を使い始めたので今後スニペットを追加するかもしれません。

設定ファイル(config.ini)の内容変更

Pythonのバージョン(2 or 3)に依存しないように内部処理を見直しました。
それに伴い、config.iniファイルからPythonのバージョン情報に関する設定を削除しました。

非互換な更新(😱😱😱

ディレクトリの整理

ディレクトリが無駄に深かったので整理して浅くしました。

(旧)
hidemaru_macrodir
├─ya_hidemaru_snippet.mac
└─ya_hidemaru_snippet		  ← このディレクトリを削除しました。
    └─internal
        ├─config.ini
        └─snippets

(新)
hidemaru_macrodir
└─ya_hidemaru_snippet
    ├─ya_hidemaru_snippet.mac
    ├─config.ini
    └─snippets

上記図は重要なフォルダとファイルのみ表示しています。

旧バージョンからのバージョンアップ方法

あなたがこのマクロをどの様に使っているのかで2通りに分かれます。

独自のスニペットを追加している方
  • まず、あなたが作成したスニペットを別の場所へ保存して下さい。(デスクトップなど)
  • 旧バージョンのフォルダを削除してから新バージョンをインストールして下さい
  • あなたが独自に作成したスニペットファイルは対応するディレクトリ(snippets\functions\text-mode)に移動することで引き続き利用できます。
その他の方

旧バージョンのフォルダを削除してから新バージョンをインストールして下さい😙

スニペット仕様の変更(Pythonのみ)

詳細

(旧) argv[]はグローバル変数。
	argv[0]	コマンド名
	argv[1]	引数
		:
		:
	argN[N]	引数
	
(新) sys.argv[]はコマンドライン引数
	argv[0]	スニペットファイルへのパス   ← 新規追加の引数
	argv[1]	コマンド名
	argv[2]	引数
		:
		:
	argN[N]	引数

具体例

以下のソースコードを参考にして下さい。

snippets\functions\text-mode\c-mode\c++-mode\template._.py

スニペット(コマンド名の変更)

利用頻度が低いコマンド名を長くして分かりやすくしました。

最後に

互換性を失う変更はヒデマラーの皆さんにも私にもダメージ🤕があります。これが最後になるように努めます😘😘😘

 

今更ですがVim Scriptのハイライト設定を公開しました

秀丸エディタVim Scriptをハイライト表示する設定を公開しました。

イメージ

vim script
vim script

公開先

秀まるおのホームページ(サイトー企画)−Vim scriptの強調表示

Github

最新版はGitHubから取得してください。 GitHub - ohtorii/highlight: 秀丸エディタのハイライト

秀丸エディタからEverythingを使用する秀丸マクロを更新したよ

久しぶりに更新しました

更新履歴

2019/02/09 ver 2.1.0

  • 検索に集中できるようにGUIのレイアウトを変更しました😘
    • 機能名とショートカット名を全てGUIに表示しました。
  • キーボードショートカットの追加
    • Ctrl-1~Ctrl-9キーで検索履歴を選択できるようにしました。
    • Ctrl-mをエンターキーとして認識するようにしました。
    • 「Alt-Sキー・Ctrl-Sキー」でキーボードフォーカスを検索ボックスに移動できるようにしました。

ダウンロード

github.com

以下はマクロの動作イメージです。

「ファイル検索→ファイル開く」までのフロー

f:id:ohtorii:20190217160357g:plain

検索フォルダ切り替え

f:id:ohtorii:20190217160403g:plain

c

検索履歴

f:id:ohtorii:20190217160406g:plain

b

正規表現

f:id:ohtorii:20190217160410g:plain

a

 

 

秀丸エディタからGNU GLOBAL(gtags)を使用するマクロを更新したよ

秀丸エディタからGNU GLOBAL(gtags)を使用するマクロを更新しました。 田楽.DLLを2箇所のフォルダ(マクロフォルダ・秀丸エディタのフォルダ)から読み込むようにマクロを調整しました。

ダウンロード

github.com

動作イメージ

gtags_jump.mac(タグジャンプを行う本体マクロ)

f:id:ohtorii:20190209104116g:plain

gtags_wrapper.mac (タグファイル生成をサポートするおまけマクロ)

f:id:ohtorii:20190209104119g:plain

今後の予定

このマクロも大分枯れてきたのでバグのみを修正する保守モードに入ります。

そのかわりと言っては何ですが、Language Server Protocolを使用する秀丸マクロでも書こうかと思っています。 github.com いつ公開できるのか全く分かりませんが・・・

動的スニペットマクロを7年ぶりに更新&公開しました

秀丸エディタの動的スニペット(ya_hidemaru_snippet)を7年ぶりに更新して、秀丸エディタのマクロライブラリにも公開しました。

動的スニペット(ya_hidemaru_snippet)って何?

emacsyasnippet秀丸エディタ風に解釈したマクロです。

・・・分かりにくいですね・・・・
え~と、100のテキストを効率よく入力するよりも、1の入力で100のテキストを自動生成する考え方ですが、伝わりますかね?

スクリーンショット

とりあえず、どんなマクロなのかスクリーンショットで動作を確認してください。

C#

markdown

cpp_class

cpp_main

cpp_once

hidemaru

ダウンロード

秀丸エディタのマクロライブラリからダウンロードして下さい。
https://hide.maruo.co.jp/lib/macro/ya_hidemaru_snippet-1-1-0.html

導入方法やユーザー定義のスニペットを追加する方法

GitHubに説明を用意しました一読してください。
https://github.com/ohtorii/ya_hidemaru_snippet

その他

スニペットの思想は前回記事(7年前!!)を参照してください。
http://d.hatena.ne.jp/ohtorii/20111014/p1

最後に

長い間、Githubでひっそりと公開していましたが。
このたび、公の場(秀丸マクロライブラリ)に公開してみました。
ご愛用していただけるとうれしいです😺

秀丸エディタからEverythingを使用する秀丸マクロを更新しました。(ctrlp.vimっぽいマクロ)

秀丸エディタからEverythingを使用する秀丸マクロ」を4年ぶりに更新しました。
もし宜しければご利用下さい。

動作イメージ


ダウンロード

秀丸エディタのマクロライブラリからダウンロードして下さい。
https://hide.maruo.co.jp/lib/macro/everything-2-0-3.html

更新内容

VIMのCtrlPプラグインに触発されて作り直しました。
https://github.com/ctrlpvim/ctrlp.vim

そもそもEverythingとは何?

窓の杜の記事」を参照して下さい。
https://forest.watch.impress.co.jp/docs/serial/winbasic2018/1125142.html

今後の予定

ファイルを検索する度にダイアログがポップアップしてうっとうしいので、VIMのようにコマンドから実行できないか模索中です。
何か良い方法があればまたマクロを更新します。