I'm wondering, what if we go with combined approach: at first TAB we're getting autocomplete up to the "dot" and next TAB is appending the "dot".
I believe it can be a good compromise. :) On Thursday, June 23, 2016 at 7:29:24 PM UTC+2, Myron Marston wrote: > > Since I haven't found a good way in iex to "cancel the current line", if I >> get in that spot, I lose a lot of history and current variables and whatnot. > > > I've tend to do this, too, even though I've been using Elixir as my main > language at work for nearly a year. It's a big reason I find the appended > period to be so annoying. > > If anything, my vote would be to make it optional -- but default it to NOT >> appending the dot. > > > I agree. If we make it a config option, I think it would help newcomers > to the language if we made it opt-in instead of opt-out. Given that most > auto-complete tooling does not usually add an extra period, newcomers to > the language are not going to expect it, and won't know how to get out of > the "current line" issue Paul mentioned without exiting the IEx session and > restarting it. Furthermore, since they are a newcomer, they are not likely > to know about the config option. > > OTOH, experienced users who may want the appended period will understand > IEx's config system and can more easily configure it for their needs. > > Myron > > On Thursday, June 23, 2016 at 9:51:02 AM UTC-7, ...Paul wrote: >> >> I'm actually with Myron. Since I haven't found a good way in iex to >> "cancel the current line", if I get in that spot, I lose a lot of history >> and current variables and whatnot. If anything, my vote would be to make >> it optional -- but default it to NOT appending the dot. I prefer UI >> elements that help me do what I want to do, not make presumptions about >> what I want to do. >> >> ...Paul >> >> >> >> On Thu, Jun 23, 2016 at 9:42 AM, Louis Pop <[email protected]> wrote: >> >>> I share Jose' opinion here, but making it configurable sounds good. >>> >>> Cheers, >>> Louis >>> >>> On 23 June 2016 at 17:40, Myron Marston <[email protected]> wrote: >>> >>>> This behavior of IEx has always surprised and annoyed me. I regularly >>>> type h [first few chars of mod name]<tab><enter> in IEx to read the >>>> read the moduledoc of a particular module, and the trailing period gets in >>>> the way every time. >>>> >>>> Here’s a demonstration showing what happens to me regularly when I try >>>> to read the @moduledoc for a module: >>>> >>>> [image: iex_autocomplete_original] >>>> >>>> With this change, it avoids this problem: >>>> >>>> [image: iex_autocomplete_improved] >>>> >>>> I opened a PR with this change >>>> <https://github.com/elixir-lang/elixir/pull/4863> but was asked to >>>> redirect conversation here for community feedback first. On the PR, >>>> @antipax said (and @josevalim concurred): >>>> >>>> I’m not in support of merging this, if only because the vast majority >>>> of the time I autocomplete a module in IEx it is to make a remote call. >>>> >>>> I thought the purpose of autocomplete in IEx is to autocomplete tokens >>>> (e.g. module and function names) not to guess the intention of the >>>> programmer and add additional characters after the token. IMO, it’s much >>>> more natural to just complete the module name, and people who want to do a >>>> remote call (or navigate to a “nested” module) can type a period, than to >>>> add the period and force the programmer to delete it. After all, I believe >>>> the autocomplete plugins in most text editors/IDEs would just autocomplete >>>> the module name, and not add the period. >>>> >>>> On the PR @antipax also said: >>>> >>>> I would be in support of making this configurable, however. >>>> >>>> Having this be configurable would meet my needs as long as I could >>>> configure it globally (presumably in ~/.iex.exs) but the trailing dot >>>> still feels like an odd default to me. >>>> >>>> Thoughts from the community? >>>> >>>> Thanks, >>>> Myron >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "elixir-lang-core" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/CADUxQmu%3Dnc1VpF9Y8oFE%2Bzsp45Xb_sCVZjdPLgBQivrpt2iv2g%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/elixir-lang-core/CADUxQmu%3Dnc1VpF9Y8oFE%2Bzsp45Xb_sCVZjdPLgBQivrpt2iv2g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAM-pwt4sRT8UVdTkEMm1eWsaLdrG%2BbYWnNN20zqtQEvJHq2rrg%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/elixir-lang-core/CAM-pwt4sRT8UVdTkEMm1eWsaLdrG%2BbYWnNN20zqtQEvJHq2rrg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/386bdd96-d3e0-4b90-8172-a5bbe51a1246%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
