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 elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CADUxQmu%3Dnc1VpF9Y8oFE%2Bzsp45Xb_sCVZjdPLgBQivrpt2iv2g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to