Hi, On Tue, 22 Jan 2019 15:32:05 +0100 meik michalke <[email protected]> wrote: > > - You can configure some aspects of the object name completion, e.g. > > using "$" as list access operator. > > nice. IMO the old behavior should remain the default, because it's > much more secure; the "$" operator does automatching of shortened > element names (like with shortened function arguments), which can > produce unexpected results. for instance: > > x <- list(yz=2) > x[["y"]] > > returns NULL, whereas > > x$y > > still returns 2. > > i ran into this issue in one of my packages once and it was hell to > find out what went wrong and why...
I had forgotten all about that. You're probably right about going back to [[ by default, then. > > For the moment this is in the > > script editor, only, but I do plan to do the same for the console, > > after your feedback. Any other settings that would make sense to > > you? > > personally, i'd generally prefer > > slot(x, "y") > > over > > x@y > > in my code. Ok, should be no problem to add. > > Should the completion in the console be changed to use the same > > pop-up as in the script editor? In addition to / as a replacement > > for the text-based tab-completion behavior? > > you mean for object names, not for tab completion in general, right? Actually, both. But yes, it should retain the ability to complete file names _and_ that should be added to the script editor as well. > i'd find that helpful, because the current tab completion of object > names has it's limits when there are several objects with similar > names. i'm often unable to get it to complete to the next > unambiguous character, it then simply repeats all available options, > and it spoils the console history. So, if I understand you right, you vote is for the pop-up solution, replacing the "inline" solution. But you'd also like to get partial completions when pressing Tab (*). Does that sum it up? (*) Which is mostly broken, indeed. The code is smart enough to understand that e.g. "qui" could match rkward::quit or base::quit, but not smart enough to understand that "quit" would be the common base to complete in any case... Of course that problem would also be less pronounced in a popup-solution. > what i'd find even more exciting is if tab completion would become > possible for function arguments as well. there's currently only code > hinting, but you still have to type all yourself, which for long > options like "stringsAsFactors" is kind of annoying. if > formals(data.frame) would be triggered by a tab inside data.frame(), > couldn't autocompletion be offered here as well? I'm currently trying to understand how that could be implemented. Regards Thomas
pgphoG3vRTZ9C.pgp
Description: OpenPGP digital signature
