RFR: JDK-8189595: jshell tool: line redrawn on each completion

Robert Field robert.field at oracle.com
Tue Oct 31 18:55:51 UTC 2017


Thumbs up.

-Robert

On 10/31/17 06:51, Jan Lahoda wrote:
> The patch updated to print a message like "press <tab> to see more" is 
> here:
> http://cr.openjdk.java.net/~jlahoda/8189595/webrev.01/
>
> Does that look better?
>
> Thanks,
>     Jan
>
> On 29.10.2017 16:19, Robert Field wrote:
>> The most consistent (if not, in this case, the most helpful) would be 
>> like that but with the press tab for more message.
>>
>> Robert
>>
>>
>> Sent from my iPad
>>
>>> On Oct 29, 2017, at 7:40 AM, Jan Lahoda <jan.lahoda at oracle.com> wrote:
>>>
>>>> On 27.10.2017 19:14, Robert Field wrote:
>>>> As is, there are a couple of nits: "hasSmart && hasBoth" is redundant,
>>>> "hasBoth" implies "hasSmart".  And with the approach, the last 
>>>> parameter
>>>> of the OrdinaryCompletionTask constructor is incorrectly named.
>>>>
>>>> However, to the extent this fix works, it works by changing the 
>>>> behavior
>>>> of:
>>>>
>>>>      494   boolean showItems = toShow.size() > 1 || smart;
>>>>
>>>> But I think this is the wrong test to be making.  Rather, I think, 
>>>> what
>>>> needs to be tested is whether putting the prefixStr completes the
>>>> completion.
>>>>
>>>> Example, before and after the fix:
>>>>
>>>> jshell> int zxgrr
>>>> zxgrr ==> 0
>>>>
>>>> jshell> double zxgrr() { return 0; }
>>>> |  created method zxgrr()
>>>>
>>>> jshell> int x = zx<tab>
>>>>
>>>> Yields a completion with "grr" and a show:
>>>>
>>>> jshell> int x = zxgrr
>>>> zxgrr
>>>>
>>>> jshell> int x = zxgr
>>>
>>> I guess the question is what should happen if one types:
>>> jshell> zx<tab>
>>>
>>> It currently does:
>>> jshell> zxgrr
>>> zxgrr     zxgrr()
>>>
>>> jshell> zxgrr
>>>
>>> And I think the smart handling is consistent with that (the items 
>>> are present, only not displayed - overall the user needs to get to 
>>> full items by pressing <tab>).
>>>
>>> An alternative would be:
>>> jshell> zx<tab>
>>> //note - not repeat
>>> jshell> zxgrr<tab>
>>> zxgrr zxgrr()
>>>
>>> jshell> zxgrr
>>>
>>> In which case for in the smart case it would be:
>>> jshell> int x = zx<tab>
>>> jshell> int x = zxgrr<tab>
>>> zsgrr
>>> jshell> int x = zxgrr
>>>
>>> Jan
>>>
>>>>
>>>> -Robert
>>>>
>>>>
>>>>
>>>>> On 10/26/17 10:49, Jan Lahoda wrote:
>>>>> Hi,
>>>>>
>>>>> Please review fix:
>>>>> http://cr.openjdk.java.net/~jlahoda/8189595/webrev.00/
>>>>>
>>>>> For bug:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8189595
>>>>>
>>>>> Thanks,
>>>>>     Jan
>>>>
>>



More information about the kulla-dev mailing list