YASnippet Hidemarized. A code template / snippet macro for Hidemaru Editor (Maruo Editor). Originally developed for Emacs, completely rewritten by me. Snippets of the original YASnippet can be used as they are (without the embedded Lisp, of course). Snippets of EmEditor / TextMate / Eclipse may also be imported.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
YASnippet
README
YASnippet.mac

README

// 
//  	YASnippet Hidemarized
//  	version 1.0  (2010/12/12)
//  	by mobitan  http://mobitan.org/
// 

暫定ドキュメント (2010/12/12)

■これは何?
YASnippet を秀丸に移植してみた。本家 v0.61 のサブセット的なもの。
本家 Emacs 版はこちら → http://code.google.com/p/yasnippet/

■作った人
mobitan
http://mobitan.org/
http://twitter.com/mobitant

■動作環境
秀丸エディタ v8.00 以降
Windows Script Host v5.6 以降 (Windows XP 以降に標準搭載)

■インストール
1. アーカイブをマクロフォルダに解凍する。
2. Yasnippet.mac をマクロ登録する。
3. スニペットを snippets フォルダに入れる。とりあえず本家のを丸ごと頂戴ゲフンゲフン
4. インストール後のフォルダ構成が次のとおりになっていること。

	マクロフォルダ
	│ Yasnippet.mac
	└─Yasnippet
	    │ readme.txt
	    │ license.txt
	    │ yas.mac
	    ├─bin
	    │   (略)
	    └─snippets
	        └─text-mode
	            │ email
	            │ time
	            ├─cc-mode
	            │ │ do
	            │ │ for
	            │ │ if
	            │ │ (以下略)
	            │ ├─c++-mode
	            │ └─(以下略)
	            ├─css-mode
	            └─(以下略)

■アンインストール
1. マクロ登録を解除する。
2. Yasnippet.mac と Yasnippet フォルダを削除する。

■使い方
0. 本家のドキュメントを一通り読んで理解する。(必須)
1. マクロを起動する。
2. 何か聞かれたら答える。
3. スニペットが展開されたらプレースホルダ内の文字列を編集する。
5. プレースホルダ外か $0 で編集すると終了。

■制限事項
凝ったスニペットは解釈できない。
	$(~) は無視される。
	`~` は `yas/selected-text` のみ対応。それ以外は無視される。
プレースホルダ編集中は次の操作しかできない。
	文字キー: 文字入力 (IME 経由は不可)
	Backspace キー: バックスペース
	Enter キー: 改行
	Tab キー: プレースホルダ移動
	カーソルキー: カーソル移動
	Shift+カーソルキー: 範囲選択
	Ctrl+X キー: 切り取り
	Ctrl+C キー: コピー
	Ctrl+V キー: 貼り付け
	Esc キー: 終了
色は必ずしもプレースホルダの範囲と一致しない。

■内部的な話
「現在入力中のプレースホルダ番号」という情報は持ってなくて、カーソル位置からそのつど算出する。
プレースホルダは重なり合う場合がある。色は番号の若い順に塗り重ねられる。つまり ${1:AA${2:BB}AA} なら「BB」は $2 の色になるが、${2:BB${1:AA}BB} だと「AA」は $1 の色にならず、全体が $2 の色になる。
プレースホルダが同士が隣接している場合、その境目に入力された文字は両方のプレースホルダに含まれる。例えば ${1:AAA}${2:BBB} が「AAABBB」に展開される → Tab キーを押して「BBB」を選択 → 「XXX」を入力した場合、結果として $1 は「AAAXXX」に、$2 は「XXX」になり、$1 の中に $2 が含まれる形になる。
ミラー M が別のプレースホルダ P に含まれている場合、M が書き換わっても P には反映されない。ふたつのプレースホルダが互いに相手のミラーを含んでいても合わせ鏡のようにはならない。
範囲選択時、編集後にプレースホルダが消滅するかしないかは、編集前の選択範囲 [] とプレースホルダ __ の位置関係によって決まる。
	[ ]________     :消滅しない
	   ________[ ]  :消滅しない
	   __[__]__     :消滅しない
	   __[_____]    :消滅しない
	  [_____]__     :消滅しない
	  [________]    :消滅しない
	[  ________  ]  :消滅する
	[  ________]    :消滅する
	[  _____]__     :消滅する
	  [________  ]  :消滅する
	   __[_____  ]  :消滅する

■カスタマイズ
プレースホルダの色は変更可能。bin\placeholder.mac の冒頭部分を参照。
他はあまりカスタマイズできない。

■謝辞
下記のオープンソースソフトウェアを利用させていただきました。ありがとうございます。
・Gin
 http://nanto.asablo.jp/blog/2007/09/12/1793275
・JSON2.js
 http://www.json.org/js.html
もちろん、本家にも最大の謝意を。
・yasnippet
 http://code.google.com/p/yasnippet/

■ライセンス
MIT ライセンス
http://www.opensource.org/licenses/mit-license.php

■連絡先
秀丸っぽい談話室
http://forum.mobitan.org/hm/

//  		(C) mobitan 2010