jbakam wrote: > On Wednesday, February 1, 2017 at 3:04:03 PM UTC+1, Bram Moolenaar wrote: > > This should be possible in a way similar to what the netbeans interface > does. > > I am not really familiar with the netbeans interface but I can see it is > socket-based. My client-server is based on message queues though. Are they > going to be compatible?
I'm not saying you should use the netbeans interface, but use the code of netbeans, since that's know to work. > > Triggering the evaluation happens in general_beval_cb(). It calls > > netbeans_beval_cb(). This can work by setting 'balloonexpr', but have > > it return an empty string, so that nothing shows up yet. Thus that > > already works. > > Right. This is what I already use to catch the mouse hover event. I thought > having it supported in a more explicit way (e.g. autocmd event) would be a > good alternative approach. > > > Showing the balloon (tooltip) happens with the "showBalloon" netbeans > > command, which calls gui_mch_post_balloon(). > > So, if I understood you well, we can send "showBalloon" to the Vim in > order to get the tooltip shown? No, we need to call gui_mch_post_balloon() somehow. > > We would need a way to make this work with a channel command. Using "call" > > is > probably the simplest, then we only need to add a function that shows > > the balloon. > > I am not sure if I understand this. Channel command? Is it a Vim API > function that we could invoke via --remote-send clientserver > interface? And in that case we wouldn't be using netbeans interface? This has nothing to do with the client-server interface. The channel can receive commands, see :help channel-commands. Thus all we need is to implement a function in evalfunc.c to show the balloon. This function could also be invoked from a channel callback. > > Another thing that would be nice: Also make this work in the terminal. > > Could be implemented like we have the popup menu. Should be as simple > > as balloon_show(). For completenes we could add balloon_hide(). > > Perhaps you could implement that? > > I can't promise anything but I think I could give it a try. I am not > familiar with the Vim code-base. It's plain C. The tricky part is to draw a balloon in a terminal, and undraw it properly. The popup menu comes closes, the code is in popupmnu.c -- VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur and his knights seemed hopeless, when, suddenly ... the animator suffered a fatal heart attack. ANIMATOR: Aaaaagh! VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could continue. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.