とりあえず日記

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

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

スニペットの一覧表示と引数入力を行うダイアログの改修を行いました。

  • ダイアログのタイトルにya_hidemaru_snippetのバージョン番号を表示するようにしました。
  • スニペット一覧ではファイル拡張子を表示しないようにしました。

New

f:id:ohtorii:20190527085331p:plain

Old

f:id:ohtorii:20190527085333p:plain

ダイアログに対する今後の予定

必要な機能や操作感は実装したつもりなので、今後はバグ修正のみを予定しています。

ダウンロード

Release 2019/05/26 ver2.1.0 · ohtorii/ya_hidemaru_snippet · GitHub

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 いつ公開できるのか全く分かりませんが・・・

dnsmasqでweb広告をブロックしたよ

dnsmasqでweb広告をブロックしたよ

こんなリストを生成するシェルスクリプトGithubで公開しました。

address=/100651.advision-adnw.jp/0.0.0.0
address=/101com.com/0.0.0.0
address=/101order.com/0.0.0.0
address=/123found.com/0.0.0.0
address=/123freeavatars.com/0.0.0.0
	:
	:
address=/zm232.com/0.0.0.0
address=/zmedia.com/0.0.0.0
address=/zmnqoymznwng.com/0.0.0.0
address=/zqtk.net/0.0.0.0
address=/zucks.net/0.0.0.0

詳しい使い方とダウンロード

Githubリポジトリを参照して下さい。

github.com

 

仕組み

広告業者のドメイン一覧があるので、この一覧を冒頭のリストファイルへ変換しているだけです。

特に難しいことはしていません。

https://280blocker.net/files/280blocker_domain.txt

pgl.yoyo.org

謝辞
 

280blocker | モバイル広告ブロッカー

http://pgl.yoyo.org/

最後に

広告業者のアドレスをDNSで弾くので、家庭内にある全てのデバイスWindows/MAC/android/iPhone/WindowsPhone...)で広告が表示されなくなり快適です。

更に我が家ではJenkinsで月に1回ほどリスト更新しています。

Diffを比較すると業者アドレスが結構追加されているので、やはり定期的な更新は必要だと思います。

 

2番煎じ3番煎じの記事ですが何かのお役に立てれば幸いです。

 

2022年10月更新

スクリプトを更新しました!!

更新内容

  • 280blockerさんの新しいファイル命名規則(YYYYMM)に対応しました
  • ignore.txtを実装(「自分にとっては大事な広告なんだぁ~」という場面で利用します)

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

dnsmasq_adblock/README.md at master · ohtorii/dnsmasq_adblock · GitHub