<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=""><div class="">From Allan:</div><div class=""><br class=""></div><div class="">"I actually have a local branch which allow commands to run on </div><div class="">“document changed” which is designed for live HTML/Markdown preview, </div><div class="">but could also be used for updating the gutter. Though there are some </div><div class="">minor issues that need fixing before I can push this to master.” [1]</div><div class=""><br class=""></div>[1] <a href="http://lists.macromates.com/textmate/2016-May/039527.html" class="">http://lists.macromates.com/textmate/2016-May/039527.html</a><div class=""><br class=""><div class="">
<div class=""><span style="orphans: 2; widows: 2;" class="">-- </span><br style="orphans: 2; widows: 2;" class=""><span style="orphans: 2; widows: 2;" class="">/Jacob Carlborg</span></div>

</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 22 aug 2016, at 19:15, 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: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><div id="bloop_customfont" style="margin: 0px;" class="">[+<a href="mailto:textmate@lists.macromates.com" class="">textmate@lists.macromates.com</a>] since this seems to be growing into a feature request, rather than a request for more information.</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">[I hope I’ve recombine-ed these emails in a sane way…]</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">The way Atom appears to be doing this "on change" event is by debouncing it over 300ms. ESLint-d is a daemon implementation of ESLint. IIRC it is a rather simple wrapper around ESLint that keeps the linter open in a background process.</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">If I could get the "on change" event, I’d be happy to setup a node script that either launches a background process ("TMHinter-d" perhaps) or attaches to the existing background process.</div></div><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><div id="bloop_sign_1471886023087555840" class="bloop_sign" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""></div><div style="font-family: helvetica, arial; font-size: 13px;" class=""><br class=""></div></div><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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;"><span class=""><div style="word-wrap: break-word;" class=""><div class=""><div class="bloop_sign" id="bloop_sign_1471568999243739136"><div style="font-family: helvetica, arial; font-size: 13px;" class=""><br class=""></div><div style="font-family: helvetica, arial; font-size: 13px;" class=""><blockquote type="cite" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; padding-left: 5px; border-left-width: 1px !important; border-left-color: rgb(0, 64, 128) !important;" class=""><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">On August 20, 2016 at 2:58:31 PM, Michael Sheets (<a href="mailto:bundles@textmate.org" class="">bundles@textmate.org</a>) wrote:</div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">> On Aug 18, 2016, at 8:23 PM, Graham Heath <<a href="mailto:graham.p.heath@gmail.com" class="">graham.p.heath@gmail.com</a>> wrote: </div><div style="font-family: Helvetica, Arial;" class="">> </div><div style="font-family: Helvetica, Arial;" class="">> My current issue is that Atom can lint in real time. I figure with the gutter/marks API the front-end is ready for this. However, in my research the only thing that seems to update without a save is spell checking. </div><div style="font-family: Helvetica, Arial;" class="">> </div><div style="font-family: Helvetica, Arial;" class="">> Is there a Semantic Class that I’m just not finding, or could we create one? I’d then need a way to access the document’s unsaved contents. It seems to me that spell checking is already doing this, and maybe we could hijack some of that functionality? </div><div style="font-family: Helvetica, Arial;" class="">> </div><div style="font-family: Helvetica, Arial;" class="">> If there isn’t a Semantic Class (or other hook) and there’s not a way to access the current unsaved document, could there be? :D </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">The current callbacks are: </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">callback.document.did-open </div><div style="font-family: Helvetica, Arial;" class="">callback.application.did-deactivate </div><div style="font-family: Helvetica, Arial;" class="">callback.application.did-activate </div><div style="font-family: Helvetica, Arial;" class="">callback.document.will-save </div><div style="font-family: Helvetica, Arial;" class="">callback.document.did-save </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">There is no option to monitor a document for changes in real time, doing so would activate for every single keypress which is just too much overhead for general use. To do this properly we need a program running constantly in the background which isn’t really part of how bundles work. </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">A good example to look at that we use is the SCM Diff Gutter bundle, this updates on save and open. </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">> Is this the appropriate list for this conversation? </div><div style="font-family: Helvetica, Arial;" class="">> </div><div style="font-family: Helvetica, Arial;" class="">> Will Allan see this thread if we keep it on this list? I’m sure he’s got better things to work on, but I’d love to know how he’s thought about these issues (because I know he has). </div><div style="font-family: Helvetica, Arial;" class=""><br class=""></div><div style="font-family: Helvetica, Arial;" class="">This isn’t a list, it goes directly to me only. :) If you want to discuss things with the wider community the main TextMate mailing list is the solution. (Or for a subset the IRC chatroom perhaps.) </div><p class="airmail_on" style="font-family: Helvetica, Arial;">On August 18, 2016 at 6:23:50 PM, Graham Heath (<a href="mailto:graham.p.heath@gmail.com" class="">graham.p.heath@gmail.com</a>) wrote:</p><blockquote type="cite" class="clean_bq" style="font-family: Helvetica, Arial;"><div style="word-wrap: break-word;" class=""><div class=""></div><div class=""><div id="bloop_customfont" style="margin: 0px;" class=""><div id="bloop_customfont" style="margin: 0px;" class="">Hello again;</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">I’ve been working on some exciting features (for me any way) for the existing JSHinter bundle. I’ve had some PRs for small things pending for a while, and I guess that the original author is no longer interested in the project. No problem there, my work continues and the plugin will soon be better than ever.</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">The goal is to be comparable to the (awesome) Atom Linter plugin, and as the new author I intend to rebrand it as TextMate Linter (or something similar).</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">My current issue is that Atom can lint in real time. I figure with the gutter/marks API the front-end is ready for this. However, in my research the only thing that seems to update without a save is spell checking.</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">Is there a Semantic Class that I’m just not finding, or could we create one? I’d then need a way to access the document’s unsaved contents. It seems to me that spell checking is already doing this, and maybe we could hijack some of that functionality?</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">If there isn’t a Semantic Class (or other hook) and there’s not a way to access the current unsaved document, could there be? :D</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">I don’t know if you’re interested, but my work has been going on here: <a href="https://github.com/loadedsith/JavascriptHinter.tmbundle/" class="">https://github.com/loadedsith/JavascriptHinter.tmbundle/</a></div><div id="bloop_customfont" style="margin: 0px;" class="">specifically off the master branch;</div><div id="bloop_customfont" style="margin: 0px;" class=""><a href="https://github.com/loadedsith/JavascriptHinter.tmbundle/tree/scss-es-and-gjslint" class="">https://github.com/loadedsith/JavascriptHinter.tmbundle/tree/scss-es-and-gjslint</a></div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">2 last questions;</div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">Is this the appropriate list for this conversation? </div><div id="bloop_customfont" style="margin: 0px;" class=""><br class=""></div><div id="bloop_customfont" style="margin: 0px;" class="">Will Allan see this thread if we keep it on this list? I’m sure he’s got better things to work on, but I’d love to know how he’s thought about these issues (because I know he has).</div></div><br class=""><div class="bloop_sign" id="bloop_sign_1471568999243739136"><div style="font-family: helvetica, arial;" class="">Thanks,</div><div style="font-family: helvetica, arial;" class=""><br class="">Graham Heath<br class=""></div></div></div></div></blockquote></blockquote></div></div></div></div></span></blockquote><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><span style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline !important;" class="">textmate mailing list</span><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><a href="mailto:textmate@lists.macromates.com" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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="">textmate@lists.macromates.com</a><br style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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=""><a href="http://lists.macromates.com/listinfo/textmate" style="font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 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="">http://lists.macromates.com/listinfo/textmate</a></div></blockquote></div><br class=""></div></body></html>