On 5 May 2011 18:00, Tudor Girba <[email protected]> wrote: > Hi, > > 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. > > Cheers, > Doru > > -- Best regards, Igor Stasenko AKA sig.
