I actually recommend using the following APIs over Shell:<br><br>ShellPrompt and ShellPrintWriter<br><br>Those already exist and provide the high-level functions without the low level stuff.<br><br>This is perhaps not well documented enough, but we suffer from that quite a bit at the moment.<br>
<br>~Lincoln<br><br><div class="gmail_quote">On Sun, Dec 4, 2011 at 9:08 AM, Max Rydahl Andersen <span dir="ltr"><<a href="mailto:max.andersen@redhat.com">max.andersen@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">> On Nov 16, 2011 5:38 PM, "Lincoln Baxter, III" <<a href="mailto:lincolnbaxter@gmail.com">lincolnbaxter@gmail.com</a>> wrote:<br>
> That's what the ShellMessages utility is for.<br>
><br>
> ShellMessages.error(shell, "my error message");<br>
><br>
> We could think about how best to unify this, but we are trying to keep Shell a bit cleaner.<br>
<br>
</div>How about somehow making Shell methods internal and mark the current ones deprecated and point to the better one to make<br>
plugindev's realize they are using "too low level" ?<br>
<br>
just a thought.<br>
<span class="HOEnZb"><font color="#888888"><br>
/max<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> ~Lincoln<br>
><br>
> On Wed, Nov 16, 2011 at 10:24 PM, Max Rydahl Andersen <<a href="mailto:max.andersen@redhat.com">max.andersen@redhat.com</a>> wrote:<br>
> It's cool - but I was really hoping such things as direct/raw text control/buffer output would not be exposed or at least not be the norm that plugins uses/depends on it.<br>
><br>
> It still annoys me to see forge plugins that does shell.print(Color.RED, "blah blah") instead of shell.error("blah blah")<br>
><br>
> /max<br>
><br>
> On Nov 16, 2011, at 17:04, Mike Brock wrote:<br>
><br>
> > Internally, there is a new concept known as a BufferManager. Essentially the idea is that a plugin can create it's own sub-buffer to the main shell buffer.<br>
> ><br>
> > When WindowBlu loads, it registers its own buffer with the Shell, taking control of the display buffer so it can intercept and translate all the ANSI -- as well as pre-buffer repainting of the titlebar to minimize flickering, etc.<br>
> ><br>
> > Mike.<br>
> ><br>
> > On Nov 16, 2011, at 9:03 AM, Koen Aers wrote:<br>
> ><br>
> >> Yeah, the windowblu command shuts down Forge Tools. I'll take a closer look at what can be done to support it.<br>
> >><br>
> >> Cheers,<br>
> >> Koen<br>
> >><br>
> >> On Wed, Nov 16, 2011 at 1:49 AM, Lincoln Baxter, III <<a href="mailto:lincolnbaxter@gmail.com">lincolnbaxter@gmail.com</a>> wrote:<br>
> >> I think you forgot the video :) this is awesome!<br>
> >><br>
> >> <a href="http://www.youtube.com/watch?v=gQp_N-gGDzk" target="_blank">http://www.youtube.com/watch?v=gQp_N-gGDzk</a><br>
> >><br>
> >> On Wed, Nov 16, 2011 at 1:09 AM, Mike Brock <<a href="mailto:cbrock@redhat.com">cbrock@redhat.com</a>> wrote:<br>
> >> So, I've been back working on Forge Core -- scripting and internal API improvements. One thing that upset me was that Forge lacked a sub-buffering facility for console output, so you could intercept console output and do fun stuff like add a status bar. Well, Forge has this limitation no longer -- at least not in my branch (<a href="https://github.com/mikebrock/core" target="_blank">https://github.com/mikebrock/core</a>)<br>
> >><br>
> >> Haven't pushed the changes upstream, mainly because I don't know if they break JBoss Tools or not -- pretty sure they don't break anything else.<br>
> >><br>
> >> Anyways, here's my first demo plugin that takes advantage of these new features in the shell API: <a href="https://github.com/mikebrock/core" target="_blank">https://github.com/mikebrock/core</a><br>
> >><br>
> >> Mike.<br>
> >><br>
> >> _______________________________________________<br>
> >> forge-dev mailing list<br>
> >> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> >> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
> >><br>
> >><br>
> >><br>
> >><br>
> >> --<br>
> >> Lincoln Baxter, III<br>
> >> <a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br>
> >> <a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
> >> "Keep it Simple"<br>
> >><br>
> >> _______________________________________________<br>
> >> forge-dev mailing list<br>
> >> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> >> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
> >><br>
> >><br>
> >> _______________________________________________<br>
> >> forge-dev mailing list<br>
> >> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> >> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
> ><br>
> > _______________________________________________<br>
> > forge-dev mailing list<br>
> > <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> > <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
><br>
> /max<br>
> <a href="http://about.me/maxandersen" target="_blank">http://about.me/maxandersen</a><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> forge-dev mailing list<br>
> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
><br>
><br>
><br>
> --<br>
> Lincoln Baxter, III<br>
> <a href="http://ocpsoft.com" target="_blank">http://ocpsoft.com</a><br>
> <a href="http://scrumshark.com" target="_blank">http://scrumshark.com</a><br>
> "Keep it Simple"<br>
><br>
> _______________________________________________<br>
> forge-dev mailing list<br>
> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
><br>
> _______________________________________________<br>
> forge-dev mailing list<br>
> <a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
<br>
/max<br>
<a href="http://about.me/maxandersen" target="_blank">http://about.me/maxandersen</a><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.com">http://ocpsoft.com</a><br><a href="http://scrumshark.com">http://scrumshark.com</a><br>"Keep it Simple"<br>