<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Thanks to all, especially Jacob, for sharing these.<div class=""><br class=""></div><div class=""><div class="">(without checking source code) It looks like these correspond to Objective-C delegate style callbacks.</div><div class=""><br class=""></div><div class="">I think these and some description of their semantics would be fabulous on the wiki or in the manual.</div><div class="">Bonus points for reference to default bundles' items that use these so people can see an example of any in use.</div><div class=""><br class=""></div><div class="">The Commands really really do take everything to a higher level and start making things magical!</div><div class=""><br class=""></div><div class="">It might also be really fabulous to know if any of them have any API contract of sorts.</div><div class="">Like:</div><div class="">  "don't do this horrible thing when using this semantic-selector"</div><div class="">  "a script should finish quickly or it will block the UI"</div><div class=""><br class=""></div><div class="">This kind of documentation will most definitely bring people back.</div><div class=""><br class=""></div><div class="">I keep trying Sublime, and it doesn't fit my brain, and the colors are off somehow (very irritating to me).</div><div class="">I keep trying Atom every few months, as it advances, but as much as they do cool things, it's still really running in Node under Electron, and everything is in a web page where the UI and keyboard shortcuts end up written by Windows programmers.</div><div class=""><br class=""></div><div class="">They've borrowed a lot from tm bundles, but missed out some of the great stuff too.</div><div class="">Github even bases MOST of its syntax grammars off of the default tmbundles' grammars.</div><div class=""><br class=""></div><div class="">From that experience, I can say I am sure the other component is having a killer way to manage bundles.</div><div class="">Right now it's not terrible, but it can be better.</div><div class="">I do feel bundle management needs to have the following things made simple and easy.</div><div class=""><ul class=""><li class="">Export</li><li class="">Share</li><li class="">Sync</li><li class="">Working Sets</li><li class="">Security </li><ul class=""><li class="">Bundles need to be able to be limited somehow based on various criteria, like network location and password/keychain or something.</li><li class="">Bundles need some sort of signing to avoid somebody slipping in some nefarious things.</li></ul><li class="">Market? If TM could ever go to MAS, they could be IAP, but it might be great to have a bundle market.</li><li class="">True plugins or xpc connections?</li></ul></div><div class="">Lastly, I would still love to see a full blown editor for themes. I miss the old simple one, but would love to see a big one.</div><div class="">(and none of the competitors do transparency like TM can :) )</div><div class=""><br class=""></div><div class="">What are the thoughts out there?</div><div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On 2017 Jan 18, at 4:59, Graham Heath <<a href="mailto:graham.p.heath@gmail.com" class="">graham.p.heath@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><span style="font-family: Helvetica, Arial; font-size: 13px;" class="">If you do get around to this; don’t forget<span class="Apple-converted-space"> </span></span>onDocumentChange and onDocumentSave from</div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><a href="http://textmate.1073791.n5.nabble.com/Fw-quot-Document-did-change-quot-and-access-to-the-current-document-in-a-bundle-td30517.html" class="">http://textmate.1073791.n5.nabble.com/Fw-quot-Document-did-change-quot-and-access-to-the-current-document-in-a-bundle-td30517.html</a></div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class="">and (possibly) more;</div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><a href="http://lists.macromates.com/textmate/2016-October/039983.html" class="">http://lists.macromates.com/textmate/2016-October/039983.html</a></div><div id="bloop_customfont" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px;" class=""><br class=""></div><div id="bloop_sign_1484683093260297984" class="bloop_sign" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="font-family: helvetica, arial; font-size: 13px;" class="">Thanks,</div><div style="font-family: helvetica, arial; font-size: 13px;" class=""><br class="">Graham Heath<br class=""><br class=""></div></div><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><p class="airmail_on" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On January 17, 2017 at 10:57:03 AM, Jacob Carlborg (<a href="mailto:doob@me.com" class="">doob@me.com</a>) wrote:</p><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span class=""><div class="" style="word-wrap: break-word;"><div class=""></div><div class="">Yeah, why not. Or in the manual [1], perhaps under References.<div class=""><br class=""></div><div class="">[1] <a href="http://manual.textmate.org/" class="">http://manual.textmate.org/</a><br class=""><div class=""><br class=""><div class=""><div class=""><span class="" style="orphans: 2; widows: 2;">-- </span><br class="" style="orphans: 2; widows: 2;"><span class="" style="orphans: 2; widows: 2;">/Jacob Carlborg</span></div></div><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 17 jan 2017, at 18:58, Attila Györffy <<a href="mailto:attila.gyorffy@gmail.com" class="">attila.gyorffy@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word;">Hey Jacob,<div class=""><br class=""></div><div class="">Thanks for collecting these. What does the community think, should these be placed on the github wiki on a page so that it’s searchable and easier to discover?</div><div class=""><a href="https://github.com/textmate/textmate/wiki" class="">https://github.com/textmate/textmate/wiki</a></div><div class=""><br class=""></div><div class="">What do you think?</div><div class=""><br class=""></div><div class="">— Attila</div><div class=""><br class=""><div class=""><div class="" style="letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; word-wrap: break-word;"><div class=""><div class=""><b class="">ATTILA GYÖRFFY</b></div><div class="">I develop software.</div><div class=""><br class=""></div><div class=""><a href="http://attilagyorffy.com/" class="">attilagyorffy.com</a> | <a href="http://www.twitter.com/attilagyorffy" class="">@attilagyorffy</a> |  | <a href="http://linkedin.com/in/attilagyorffy" class="">in/attilagyorffy</a> | <a href="http://www.github.com/attilagyorffy" class="">github.com/attilagyorffy</a></div><div class=""><br class=""></div><div class=""><div class=""><div class=""><span class="" style="color: rgb(127, 205, 37);">Every time you print an email, a tree is marked for death.</span></div><div class=""><span class="" style="color: rgb(127, 205, 37);">Trees provide O2. You need that to breathe, remember? 🌳</span></div></div></div></div></div></div><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 17 Jan 2017, at 18:46, Jacob Carlborg <<a href="mailto:doob@me.com" class="">doob@me.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote type="cite" class="">On 17 jan 2017, at 05:33, じょいすじょん <<a href="mailto:dangerwillrobinsondanger@gmail.com" class="">dangerwillrobinsondanger@gmail.com</a>> wrote:<br class=""><br class="">I have found that I had to finally learn to create Commands in a TM Bundle to move beyond what snippets alone can do (even though they have such a brilliantly simple syntax...)<br class="">Is there any canonical listing of values to use Semantic Class hooks?<br class=""></blockquote><br class=""><br class="">This is a list of semantic class callbacks that I’ve managed to collect from different places:<br class=""><br class="">* callback.application.did-activate<br class="">* callback.application.did-deactivate<br class="">* callback.document.binary-export<br class="">* callback.document.binary-import<br class="">* callback.document.did-reload<br class="">* callback.document.did-save<br class="">* callback.document.export<br class="">* callback.document.import<br class="">* callback.document.will-reload<br class="">* callback.document.will-save<br class="">* callback.double-click<br class="">* callback.file-browser.action-menu<br class="">* callback.mouse-click (old)<br class="">* callback.single-click<br class="">* callback.triple-click<br class=""><br class="">For mouse click callbacks, the following modifiers can be used:<br class=""><br class="">* dyn.modifier.shift<br class="">* dyn.modifier.control<br class="">* dyn.modifier.option<br class="">* dyn.modifier.command<br class=""><br class="">The modifiers are set in “Scope Selector”.<br class=""><br class="">--<br class="">/Jacob Carlborg<br class=""><br class=""></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></div></span></blockquote></div></blockquote><br class=""><br class=""></div><br class=""></div></div></body></html>