Ivan Zamylin
Ivan Zamylin

Reputation: 1748

Override snippet in Sublime Text

In Sublime Text 2, I'd like to create a snippet for Rails image_tag.

I want it to be a trigger, but it seems that it is already taken by <input>.
I'd like to remove <input> snippet at all. I've looked through most of Sublime packages, but I cannot find it anywhere.

Is there an easy way to find or override the <input> snippet?

Upvotes: 2

Views: 1260

Answers (2)

AGS
AGS

Reputation: 14498

First, if you are dead set on using it to trigger the snippet, you will need to edit this file:

~/Library/Application Support/Sublime Text 2/Packages/HTML/HTML.tmLanguage

and remove input from the string

<key>begin</key>
        <string>(&lt;/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)</string>

Next, comment out this line

{ "trigger": "input", "contents": "<input>" },

from ~/Library/Application Support/Sublime Text 2/Packages/HTML/HTML.sublime-completions

input should now be free to use as you like in HTML scopes.

Upvotes: 2

Pigueiras
Pigueiras

Reputation: 19356

Go to Tools -> New Snippet... and the write the following:

<snippet>
    <content><![CDATA[
<%= image_tag ${1}, ${2} %>   
]]></content>
    <tabTrigger>it</tabTrigger>
</snippet>

And finally save the snippet.

This snippet it's working perfectly for me.

Upvotes: 1

Related Questions