[Pharo-project] Making cr to autocomplete as well as tab (in Pharo 1.3)
siguctua at gmail.com
Thu May 5 18:44:13 CEST 2011
On 5 May 2011 18:00, Tudor Girba <tudor.girba at gmail.com> wrote:
> This is not great at all. Please read this before going forward.
> We had this in OCompletion before and then it got changed to not use CR for a reason. The problem is when using fluent APIs that are best read when written on multiple lines. For example, suppose that I want to type something like this in Glamour:
> a tree
> display: [ ... ]
> After typing "a tree", the first proposed item is "treeLayout" (see the attached picture). If I press enter to go to the next line "tree" is replaced with "treeLayout" and this is not the behavior I want.
> The problem is that CR has a useful meaning when typing a piece of text and this makes it not good as a completion character. Tab on the other hand, is only used in Smalltalk at the beginning of an empty line so there is no danger of overloading its functionality in the middle of a text.
This is not a problem for me, because first i typing the expression
and then formatting it properly if necessary.
Also, in case as you shown, one could simply type 'space' then 'enter'
so discard the suggestion and begin from a new line.
> Now, if you insist, I still believe there is a place for CR. Completion has two modes:
> 1. one in which I write and the completion offers me something, and
> 2. one in which I am after I press the down arrow to select some completion item.
i agree, a completion should be non-intrusive (by default it should
handle enter as carriage return,
but if you selected an item (using up/down keys), then it should paste
the selection instead).
But as i said, i having a habit to use enter, when i see a popup menu
and hilighted menu item selected instead of tab.
> For 1. you do not want to have CR as a completion character. For 2. it is probably ok because you enter explicitly in a temporary mode and thus you are not typing anymore and this will not induce the conflict.
Igor Stasenko AKA sig.
More information about the Pharo-project