#114 Completion list doesn't work in the console


A completion list is shown when you start typing object names in the R console. But there's absolutely no way of selecting an item. I can understand Return can't work for this, since it has already another meaning. Clicking with the mouse wouldn't be very efficient anyway, but if even this doesn't work, I don't see a reason to show this, as it is more frustrating than anything else.


  • Hi!

    Thanks for pointing out all those issues. Over time, I've become blind to much of this.

    Anyway, thinking about this, perhaps Return *can* work for this, after all, and I have committed a corresponding (experimental) change. Perhaps you want to give this a try (in the development version / tomorrows' daily build). My impression so far is that it does not really get into the way too much.

    In fact, I'm considering to make code completion in the R Console look exactly like in the script editor (I would add a configuration option to control, whether completion options are shown automatically, or only on Tab-key presses). That would obsolete a couple of quirks in the current solution, and probably even remove some code complexity.

    What do you think?


    • assigned_to: nobody --> tfry
  • I've just tried it, and indeed it doesn't seem to disturb much. And it's generally good that both completion lists behave the same. Thanks!

  • Something still feels weird: when there are several choices in the list, you can't select another one than the first, because the up/down arrows don't work (since they're used for the command history). Not sure something can be done about that, but at least only one choice should be shown then.

  • m.eik

    well, i do sense a slight disturbance in the force. since the change, data object completion gets mixed up with all kinds of text that was written before. try this:

    > foobar
    # you'll get an error, but now:
    > test.foo
    # once you've typed "foo" here you're offered a completion to "foobar"

    for the console i'd rather have the completion stick to objects which are actually in existance. otherwise, if you make a mistake while typing, it can haunt you by reappearing in the completion list. allthough an argument completion for functions would be a hit!

  • I think the problem isn't offering text completion (in addition to object name completion) in general. The problem is that both mechanisms simply aren't integrated, yet. Now one type of completion pops up automatically, and inserts completions on tab-presses, while the other is activated manually, on tab-presses. Obviously this does not mix well.

    So I have disabled the text-hints for now. I still intend to re-enable them in an integrated solution, later.

  • I've also found one case where the new completion behavior can be annoying: when you use two object starting with the same string.

    For example, I often do
    > tab <- table(var1, var2)
    Then, when I type 'tab' then Return to see the result (immediately or later), 'tab' gets completed to 'table'. Quite problematic!