textmateのsnippet

なんとなく#250 Authentication from Scratch - RailsCasts
を見てたら、textmate裁きが軽快でほれぼれしたので
snippetを真似てみた。

form_for

form_for入力後tagキー押下で↓を表示し
さらにタブキー押下後のキー入力で@model部分を一括置換
ここはおまけですが、さらにタブキー押下後のキー入力でh2タグのメッセージを修正。

こんなのが一瞬で出てくる
<% form_for @model do |f| -%>
	<% if @model.errors.any? %>
		<div class="error_messages">
			<h2>Form is invalid</h2>
			<ul>
				<% for message in @model.errors.full_messages %>
					<li><%= message %></li>
				<% end %>
			</ul>
		</div>
	<% end %>

	<p class="button"><%= f.submit %></p>
<% end -%>
snippet

Bundles > Bundle Editor > Edit Snippets
より修正できます。

${TM_RAILS_TEMPLATE_START_RUBY_INLINE}form_for @${1:model} do |f|${TM_RAILS_TEMPLATE_END_RUBY_INLINE}
	${TM_RAILS_TEMPLATE_START_RUBY_INLINE}if @${1:model}.errors.any?${TM_RAILS_TEMPLATE_END_RUBY_EXPR}
		<div class="error_messages">
			<h2>${2:Form is invalid}</h2>
			<ul>
				${TM_RAILS_TEMPLATE_START_RUBY_INLINE}for message in @${1:model}.errors.full_messages${TM_RAILS_TEMPLATE_END_RUBY_EXPR}
					<li><%= message %></li>
				${TM_RAILS_TEMPLATE_START_RUBY_INLINE}end${TM_RAILS_TEMPLATE_END_RUBY_EXPR}
			</ul>
		</div>
	${TM_RAILS_TEMPLATE_START_RUBY_INLINE}end${TM_RAILS_TEMPLATE_END_RUBY_EXPR}

	<p class="button"><%= f.submit %></p>
${TM_RAILS_TEMPLATE_END_RUBY_BLOCK}

補足

TM_RAILS_TEMPLATE_START_RUBY_EXPR   => "<%= "
TM_RAILS_TEMPLATE_END_RUBY_EXPR     => " %>"
TM_RAILS_TEMPLATE_START_RUBY_INLINE => "<% "
TM_RAILS_TEMPLATE_END_RUBY_INLINE   => " -%>"
TM_RAILS_TEMPLATE_END_RUBY_BLOCK    => "end"

リンク

今回のrailscastsのsnipetts。他の分も合わせて書いてみました。
textmate_snippets — Gist