- ive fixed the issue with TerminalCharacter, it would be interesting if
this bug might have been the cause of the "bleeding" thats been seen
as well.
ive pushed out a new version of aesh 0.47-SNAPSHOT that have the fix, if
you have time please provide feedback.
ståle
On 17.01.14 1:00, Ståle W Pedersen wrote:
hi, thanks for the feedback.
i see that there is indeed a bug in how TerminalCharacter is displayed.
- there is a TerminalCharacter.toString(TerminalCharacter tc) that tries
to compare with the previous to reduce the data written to stream, but
it has a bug and do not display it correctly.
By design it was planned that TerminalCharacter should not "reset" so if
you set a TerminalCharacter with color green that color should be for
all upcoming characters unless a new one is set.
TerminalString however do in fact reset at its end (by design).
I do not know if the ordering matter, afaik it shouldnt, but it might be
that that is why jansi has bleeding of colors on windows??
ståle
On 16.01.14 23:52, Ivan St. Ivanov wrote:
>Hey George, Stale,
>
>I did some debugging in Forge, Aesh and even Jansi sources. Before that, I
>tried to change the color of the current folder name when creating the
>prompt:
>
>// in org.jboss.forge.addon.shell.ShellImpl::createPrompt()
>
> for (char c : currentResource.getName().toCharArray())
> {
> prompt.add(new TerminalCharacter(c, new
>TerminalColor(Color.GREEN, Color.DEFAULT)));
> }
>
>So I expect that as a result of that, all of the characters of the current
>directory name would be green. However it is only the first character.
>After some more debugging, I found that for a directory called *forge* the
>ANSI string passed to the Jansi library
>is: [;39;49m[[;32mf[mo[mr[mg[me[;39m][m$[m (there is an ESC symbol
>character before each [). As far as I got it, those constants 39, 32, etc.
>denote the foreground (i.e. character) color. So, the question now is:
>
>Do you have to set the foreground color once and then it is valid for all
>the next characters before you set it again, or you have to set it for
>every character in the ANSI string. I think that Aesh's logic follows the
>first approach, so is this correct? I'm afraid
>Jansi's AnsiOutputStream.write(int) method is a too complex FSM for me in
>this late hour, so I stopped there :)
>
>What else bothers me is the ordering of the style and color constants for
>the first character of the prompt. Shouldn't it be the other way round
>(first the style and then the color)?
>
>Cheers,
>Ivan
>
>
>On Wed, Jan 15, 2014 at 10:35 PM, George Gastaldi <ggastald(a)redhat.com>wrote:
>
>> That's right. We expect a PR from you asap :)
>>
>> Em 15/01/2014, às 18:28, "Ivan St. Ivanov"
<ivan.st.ivanov(a)gmail.com>
>> escreveu:
>>
>> Ah, so the coloring is in Forge, not in Aesh? Good, at least I will try to
>> get acquainted with the code if not fix it ;)
>>
>>
>> On Wed, Jan 15, 2014 at 10:24 PM, George Gastaldi
<ggastald(a)redhat.com>wrote:
>>
>>> Hey Ivan,
>>>
>>> We had to remove the colors because the colors were "bleeding" to
the
>>> next character. If you could have a look at it, the code is in
>>> ShellImpl.createPrompt().
>>>
>>> Pull requests are always more than welcomed. :)
>>>
>>> Em 15/01/2014, às 18:21, "Ivan St. Ivanov"
<ivan.st.ivanov(a)gmail.com>
>>> escreveu:
>>>
>>> Hi Stale, folks!
>>>
>>> I just tried the new Forge 2.0 and it works perfectly :)
>>>
>>> I just miss the prompt coloring. In Forge 1 we had different color for
>>> the current directory name if it is inside a project.
>>>
>>> BTW, I see that the new-project command was changed to project-new.
>>>
>>> Cheers,
>>> Ivan
>>>
>>>
>>> On Mon, Jan 13, 2014 at 3:39 AM, George Gastaldi
<ggastald(a)redhat.com>wrote:
>>>
>>>> Excellent Stale! Thanks for your help on this.
>>>>
>>>> > Em 12/01/2014, às 23:06, Ståle W Pedersen
<spederse(a)redhat.com>
>>>> escreveu:
>>>> >
>>>> > hi, ive deployed a new version of 0.46-SNAPSHOT that hopefully
should
>>>> > have most of the arrow-key + line redraw bugs fixed.
>>>> > - please let me know if it works better other places as well.
>>>> >
>>>> > these issues were introduced back in oct/nov i think (during our
>>>> meeting
>>>> > in raleigh lincoln :) when we optimized the input and line draw in
æsh.
>>>> > - i think its time i get a working windows setup....
>>>> >
>>>> > i havent looked at the path issue so that still needs to be fixed.
>>>> > - but ill prioritize the close issue atm.
>>>> >
>>>> > ståle
>>>> >
>>>> >> On 11.01.14 17:10, Lincoln Baxter, III wrote:
>>>> >> You can find in maven under:
>>>> >>
>>>> >> org.jboss.aesh:aesh:0.46-SNAPSHOT
>>>> >>
>>>> >> The github repo/org is here:
https://github.com/aeshell/aesh
>>>> >>
>>>> >> ~Lincoln
>>>> >>
>>>> >>
>>>> >> On Sat, Jan 11, 2014 at 3:58 PM, Ståle W Pedersen <
>>>> spederse(a)redhat.com>wrote:
>>>> >>
>>>> >>> hi, ivan it is most likely an æsh bug (which forge uses for
shell
>>>> >>> interaction). to quickly debug æsh you could just start a
simple
>>>> example
>>>> >>> program like: java -cp aesh-0.46-SNAPSHOT.jar AeshExample
>>>> >>> - you should have the aesh jar in your local mvn cache.
>>>> >>>
>>>> >>> AeshExample should log to TMP/aesh.log and there is a log
line
>>>> starting
>>>> >>> with "GOT:" for each input. that input should
match whatever is
>>>> >>> specified in Key.java (in æsh).
>>>> >>> from what you've described above it seems that ive
introduced a bug
>>>> in a
>>>> >>> later release with this or it might also be the parsing.
whatever you
>>>> >>> find out will no matter help.
>>>> >>>
>>>> >>> regards, ståle
>>>> >>>
>>>> >>>> On 11.01.14 21:18, Ivan St. Ivanov wrote:
>>>> >>>> Hi folks,
>>>> >>>>
>>>> >>>> I just created this JIRA:
>>>>
https://issues.jboss.org/browse/FORGE-1425
>>>> >>>>
>>>> >>>> As I wrote in the first email, I would like to help
resolving it. I
>>>> just
>>>> >>>> need some guidance on where to look. George asked me to
run the
>>>> unit tests
>>>> >>>> and I tried. However, the addon-manager tests failed and
I couldn't
>>>> find
>>>> >>>> the reason. :(
>>>> >>>>
>>>> >>>> Cheers,
>>>> >>>> Ivan
>>>> >>>>
>>>> >>>>
>>>> >>>> On Sat, Jan 11, 2014 at 7:54 PM, Lincoln Baxter, III
<
>>>> >>>> lincolnbaxter(a)gmail.com> wrote:
>>>> >>>>
>>>> >>>>> Yes, thank you for finding these issues! Looks like
we know what
>>>> we will
>>>> >>>>> be working on next few days :)
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> On Sat, Jan 11, 2014 at 12:40 PM, George Gastaldi
<
>>>> ggastald(a)redhat.com
>>>> >>>> wrote:
>>>> >>>>>
>>>> >>>>>> Ivan,
>>>> >>>>>>
>>>> >>>>>> Could you open a JIRA with these issues and mark
it as Blocker? We
>>>> >>> can't
>>>> >>>>>> release 2.0.0.Final unless this is fixed.
>>>> >>>>>>
>>>> >>>>>> Em 08/01/2014, às 11:18, "Ivan St.
Ivanov" <
>>>> ivan.st.ivanov(a)gmail.com>
>>>> >>>>>> escreveu:
>>>> >>>>>>
>>>> >>>>>> Sorry, forgot to mention that this is with
snapshot from December,
>>>> >>> 29th.
>>>> >>>>>> The situation was the same with all the previous
betas and alphas.
>>>> >>>>>>
>>>> >>>>>>
>>>> >>>>>> On Wed, Jan 8, 2014 at 3:13 PM, George Gastaldi
<
>>>> ggastald(a)redhat.com
>>>> >>>> wrote:
>>>> >>>>>>
>>>> >>>>>>> Thanks for the feedback ivan.
>>>> >>>>>>> Are you testing against the latest
snapshot?
>>>> >>>>>>>
>>>> >>>>>>> Best Regards,
>>>> >>>>>>> George
>>>> >>>>>>>
>>>> >>>>>>> Em 08/01/2014, às 11:10, "Ivan St.
Ivanov" <
>>>> ivan.st.ivanov(a)gmail.com>
>>>> >>>>>>> escreveu:
>>>> >>>>>>>
>>>> >>>>>>> Hi folks,
>>>> >>>>>>>
>>>> >>>>>>> As I promised, here is a [intended-to-be]
short feedback about
>>>> the new
>>>> >>>>>>> Forge 2 shell. As some of you know, I use
Windows (Really?
>>>> OK...). So
>>>> >>> I
>>>> >>>>>>> will be very happy to help you solve the
issues besides merely
>>>> >>> reporting
>>>> >>>>>>> them:
>>>> >>>>>>>
>>>> >>>>>>> * The history doesn't work. That is,
when you press up and down
>>>> arrows
>>>> >>>>>>> instead of the previous commands, you get
this: αH
>>>> >>>>>>>
>>>> >>>>>>> * Backspace doesn't work. When I press
it, the cursor just comes
>>>> back
>>>> >>> to
>>>> >>>>>>> the previous position without deleting the
character there. If I
>>>> just
>>>> >>> write
>>>> >>>>>>> something there, the old symbol is
overwritten by the new one,
>>>> but at
>>>> >>> the
>>>> >>>>>>> end after pressing enter it looks like you
never entered anything
>>>> >>> after
>>>> >>>>>>> pressing backspace. For example:
>>>> >>>>>>> 1) I write *new-project --namek*
>>>> >>>>>>> 2) I notice the typo and press backspace
>>>> >>>>>>> 3) k doesn't get deleted, but I
overwrite it with d
>>>> >>>>>>> 4) Then I complete my command to look like
this: *new-project
>>>> >>> --named
>>>> >>>>>>> test*
>>>> >>>>>>> 5) Forge's output is: *Project name
must be specified.*
>>>> >>>>>>>
>>>> >>>>>>> * As you know on windows the full path to a
file or directory is
>>>> >>>>>>>
<drive-letter>:\<dir1>\<dir2>
>>>> >>>>>>> 1) If I try to do *cd c:\temp\forge*, Forge
blows with
>>>> exception:
>>>> >>>>>>>
org.jboss.forge.addon.resource.ResourceException:
>>>> [FileResourceImpl]
>>>> >>> can
>>>> >>>>>>> have no
>>>> >>>>>>> children
>>>> >>>>>>> at
>>>> >>>>>>>
>>>> org.jboss.forge.addon.resource.AbstractFileResource.getChild(Abstract
>>>> >>>>>>> FileResource.java:78)
>>>> >>>>>>> at
>>>> >>>>>>>
>>>> org.jboss.forge.addon.shell.util.PathspecParser.resolve(PathspecParse
>>>> >>>>>>> r.java:232)
>>>> >>>>>>> at
>>>> >>>>>>>
>>>> org.jboss.forge.addon.shell.commands.CdCommand.execute(CdCommand.java
>>>> >>>>>>> :71)
>>>> >>>>>>> at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>> Method)
>>>> >>>>>>> at
>>>> >>>>>>>
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>>> >>>>>>> java:57)
>>>> >>>>>>> at
>>>> >>>>>>>
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>>> >>>>>>> sorImpl.java:43)
>>>> >>>>>>> at
java.lang.reflect.Method.invoke(Method.java:606)
>>>> >>>>>>> 2) Somehow I noticed that I may use the
paths without the drive
>>>> >>>>>>> letter, e.g. just
\<dir1>\<dir2>. It is legal to do it in
>>>> Windows,
>>>> >>> but thus
>>>> >>>>>>> you can't change to a directory located
on a different drive. For
>>>> >>> example
>>>> >>>>>>> cd \temp\forge will change to c:\temp\forge
if you are currently
>>>> in
>>>> >>> c:. So
>>>> >>>>>>> I tried *cd \temp\forge*, but the result was
the same
>>>> [exception].
>>>> >>>>>>> 3) If I am in the root directory (c:\) and
I run *cd
>>>> temp\forge*, I
>>>> >>>>>>> don't get exception, but ****ERROR***
tempforge\: No such file or
>>>> >>>>>>> directory*. The interesting thing is that I
ran that command by
>>>> >>>>>>> pressing tab, i.e. counting on the command
completion of the
>>>> shell,
>>>> >>> which
>>>> >>>>>>> obviously works fine.
>>>> >>>>>>>
>>>> >>>>>>> I made the cd command work by just running
*cd /temp/forge*
>>>> (notice
>>>> >>>>>>> the forward slashes)
>>>> >>>>>>>
>>>> >>>>>>>
>>>> >>>>>>> If you wish, I may add these observations as
JIRA items,
>>>> probably as
>>>> >>>>>>> children to this one:
https://issues.jboss.org/browse/FORGE-1387
>>>> .
>>>> >>> Bear
>>>> >>>>>>> in mind that all the reported features work
in Forge 1 even on
>>>> >>> Windows ;)
>>>> >>>>>>>
>>>> >>>>>>> We can discuss these in today's
meeting.
>>>> >>>>>>>
>>>> >>>>>>> Cheers,
>>>> >>>>>>> Ivan
>>>> >>>>>>>
>>>> >>>>>>>
_______________________________________________
>>>> >>>>>>> forge-dev mailing list
>>>> >>>>>>> forge-dev(a)lists.jboss.org
>>>> >>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>>>>>
>>>> >>>>>>>
>>>> >>>>>>>
_______________________________________________
>>>> >>>>>>> forge-dev mailing list
>>>> >>>>>>> forge-dev(a)lists.jboss.org
>>>> >>>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>>>>>
>>>> >>>>>>
>>>> >>>>>> _______________________________________________
>>>> >>>>>> forge-dev mailing list
>>>> >>>>>> forge-dev(a)lists.jboss.org
>>>> >>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>>>>
>>>> >>>>>>
>>>> >>>>>> _______________________________________________
>>>> >>>>>> forge-dev mailing list
>>>> >>>>>> forge-dev(a)lists.jboss.org
>>>> >>>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> --
>>>> >>>>> Lincoln Baxter, III
>>>> >>>>>
http://ocpsoft.org
>>>> >>>>> "Simpler is better."
>>>> >>>>>
>>>> >>>>> _______________________________________________
>>>> >>>>> forge-dev mailing list
>>>> >>>>> forge-dev(a)lists.jboss.org
>>>> >>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>>>
>>>> >>>
>>>> >>>> _______________________________________________
>>>> >>>> forge-dev mailing list
>>>> >>>> forge-dev(a)lists.jboss.org
>>>> >>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>
>>>> >>> _______________________________________________
>>>> >>> forge-dev mailing list
>>>> >>> forge-dev(a)lists.jboss.org
>>>> >>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >>>
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Lincoln Baxter, III
>>>> >>
http://ocpsoft.org
>>>> >> "Simpler is better."
>>>> >
>>>> >> _______________________________________________
>>>> >> forge-dev mailing list
>>>> >> forge-dev(a)lists.jboss.org
>>>> >>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>> >
>>>> > _______________________________________________
>>>> > forge-dev mailing list
>>>> > forge-dev(a)lists.jboss.org
>>>> >
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>_______________________________________________
>forge-dev mailing list
>forge-dev(a)lists.jboss.org
>https://lists.jboss.org/mailman/listinfo/forge-dev
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev