<div>
                    I spent some time playing with making a regular bundle, and I think that I can make some of the functionality work.
                </div><div><br></div><div>The current (textmate 1) plugin has some functionality that I don't think I will be able to implement, like selecting matching tags. AFAIK there isn't a way to update the selection from a bundle command.</div><div><br></div><div>Part of the problem is that Emmet is written in javascript, so I have to bundle Node in my bundle for it to work.</div>
                <div><div><br></div><div>I realize things are still in flux, so a bundle command that gets me the most useful features of emmet will work fine, but a more official plugin API would be cool.</div><div><br></div><div>I'd try to come up with something, but I'm still learning how TextMate2 works.</div><div><br></div><div>I'll see where this bundle solution works.</div><div><br></div><div>-Caleb</div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Monday, January 28, 2013 at 3:24 PM, Allan Odgaard wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div>On Jan 28, 2013, at 8:41 PM, Caleb Land <<a href="mailto:caleb.land@gmail.com">caleb.land@gmail.com</a>> wrote:</div><div><br></div><blockquote type="cite"><div><div>[…] I can type "table>tr*3>td*3" and hit ^E and it will create a table with three rows and three columns.</div><div><br></div><div>It works on selections or if the cursor is at the end of the Emmet expression.</div><div><br></div><div>How it works</div><div>From what I can tell, when an Emmet expand action is executed, it looks at the carret position/selection and determines if the selection contains a valid expansion expression (or if the text proceeding the carret is a valid expression if there is no selection).</div><div><br></div><div>When the plugin is ready to perform the expansion, it tells TM to select the contents of the expansion expression, and calls `insertSnippetWithOptions` to replace the contents it with the expanded contents.</div></div></blockquote><div><br></div><div>It sounds like this could be done as a regular bundle command:</div><div><br></div><div>    Input: Selection or Line¹</div><div>    Output: Replace Input, Format: Snippet</div><div><br></div><div>Am I missing something?</div><div><br></div><div><br></div><div>¹ Presently this fallback input is not exposed in TM2’s bundle editor. You need to edit the XML of the tmCommand and insert:</div><div><br></div><div>    <key>fallbackInput</key></div><div>    <string>line</string></div><div><br></div><div>_______________________________________________</div><div>textmate-dev mailing list</div><div><a href="mailto:textmate-dev@lists.macromates.com">textmate-dev@lists.macromates.com</a></div><div><a href="http://lists.macromates.com/listinfo/textmate-dev">http://lists.macromates.com/listinfo/textmate-dev</a></div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>