<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 15 Dec 2019, at 14:26, f1nnix <<a href="mailto:ilya@rusanen.co.uk" class="">ilya@rusanen.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">I've started to work on rough implementation: <br class=""><a href="https://github.com/f1nnix/LSP.tmbundle" class="">https://github.com/f1nnix/LSP.tmbundle</a><br class=""><https://github.com/f1nnix/LSP.tmbundle>  . Completion already ~works.<br class=""><br class="">It would be nice, if someone could take a look at my questions about<br class="">Textmate internal bundle mechanism. Thanks. <br class=""></div></div></blockquote></div><div class=""><br class=""></div><div class="">* To run a command in the background, you need to create a subprocess and close stdout and stderr. See [1][2] for more details.</div><div class=""><br class=""></div><div class="">* It’s not possible to highlight arbitrary symbols.</div><div class=""><br class=""></div><div class="">* Regarding diagnostic reporting, It’s not possible highlight symbols. But it’s possible to show an icon in the gutter on a specific line. When the user clicks on the icon a message will be shown. Run “mate —help” and see the “mark” related flags. It would be something like: “mate foo.rb —line 3 —set-mark error:'missing symbol’”</div><div class=""><br class=""></div><div class="">* The callback for open document is called "callback.document.did-open”. Set that as the semantic class of a bundle command</div><div class=""><br class=""></div><div class="">* Regarding your last question: "Is there a way to run a command on file opening?”. I guess it’s the same answer as the previous question. I don’t think there’s a difference between opening a document or a file.</div><div class=""><br class=""></div><div class=""><div class="">This is a list of semantic class callbacks that I’ve managed to collect from different places:</div><div class=""><br class=""></div><div class="">* callback.application.did-activate</div><div class="">* callback.application.did-deactivate</div><div class="">* callback.document.binary-export</div><div class="">* callback.document.binary-import</div><div class="">* callback.document.did-change-scm-status</div><div class="">* callback.document.did-open</div><div class="">* callback.document.did-reload</div><div class="">* callback.document.did-save</div><div class="">* callback.document.export</div><div class="">* callback.document.import</div><div class="">* callback.document.will-reload</div><div class="">* callback.document.will-save</div><div class="">* callback.double-click</div><div class="">* callback.file-browser.action-menu</div><div class="">* callback.mouse-click (old)</div><div class="">* callback.single-click</div><div class="">* callback.triple-click</div><div class=""><br class=""></div><div class="">For mouse click callbacks, the following modifiers can be used:</div><div class=""><br class=""></div><div class="">* dyn.modifier.shift</div><div class="">* dyn.modifier.control</div><div class="">* dyn.modifier.option</div><div class="">* dyn.modifier.command</div><div class=""><br class=""></div><div class="">The modifiers are set in "Scope Selector".</div></div><div class=""><br class=""></div><div class="">[1] <a href="https://wiki.macromates.com/HowTo/RunCommandInBackground" class="">https://wiki.macromates.com/HowTo/RunCommandInBackground</a></div><div class="">[2] <a href="https://github.com/textmate/d.tmbundle/blob/master/Support/lib/text_mate/process.rb" class="">https://github.com/textmate/d.tmbundle/blob/master/Support/lib/text_mate/process.rb</a></div><div class=""><br class=""></div><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; 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;">-- <br class="">/Jacob Carlborg</div>

</div>
<br class=""></body></html>