<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV>Ahoy TextMateys!</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Prototype'd Javascript now has better escape code completion</DIV><DIV>and option-escape menu code completion. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Also,</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I updated my TextMateCodeCompletion thing again to support basic snippetization of completions.</DIV><DIV>Prototype completions contain a bunch of method arguments. Like this: Thing.method(one,two)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Now, when you select a completion from the menu, it'll convert each of the method arguments into snippet placeholders.</DIV><DIV>This is, of course, just a milestone in the road toward full snippet completion support.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The eventual goal is that the completions list is just a list of the names, then when you select one, a unique snippet is inserted for that name.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The only problem is that we'll either have to duplicate all of the completions in the escape completions list and the menu completions list or else extend the completions list format to work with both escape completion and menu completion.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>I think the only way to extend the format is to get Allan to hack textmate to support the new version. And I loathe the thought of wasting my time implementing it one way and then having to reimplement it the right way once Allan gets back.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I also reorganized the codecompletion library so that it can more easily be used by other stuff. New methods:</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>to_snippet<SPAN class="Apple-tab-span" style="white-space:pre">  </SPAN>converts the choice you make into a basic snippet and returns a string. (formerly to_s)</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>choice<SPAN class="Apple-tab-span" style="white-space:pre">      </SPAN>returns the choice that was chosen as a string</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-tab-span" style="white-space:pre">  </SPAN>index<SPAN class="Apple-tab-span" style="white-space:pre">       </SPAN>returns the index of the array of the item that was chosen</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; ">thomas Aylott —<SPAN class="Apple-converted-space"> </SPAN><I style="font-style: italic; "><SPAN class="Apple-style-span" style="font-style: italic; ">design</SPAN></I><B style="font-weight: bold; "><SPAN class="Apple-style-span" style="font-weight: bold; ">42</SPAN></B><SPAN class="Apple-converted-space"> </SPAN>— </SPAN><SPAN class="Apple-style-span" style="border-collapse: separate; -khtml-border-horizontal-spacing: 0px; -khtml-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><B style="font-weight: bold; "><SPAN class="Apple-style-span" style="font-weight: bold; "><SPAN class="Apple-style-span" style="font-weight: bold; ">subtleGradient </SPAN></SPAN></B></SPAN><SPAN class="Apple-style-span" style="border-collapse: separate; -khtml-border-horizontal-spacing: 0px; -khtml-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; ">— </SPAN><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; ">CrazyEgg<BR class="Apple-interchange-newline"></SPAN></SPAN></SPAN> </DIV><BR></BODY></HTML>