That’s the type of suggestion it will probably never be able to give. The existing suggestions just iterate through all variables or all function names and compare what you wrote in your code with what’s available. So it’s a simple similarity check of strings.
Knowing that List.join
should be Enum.join
on the other hand requires a whole lot of extra knowledge about elixir – even knowing that List
might correspond to Enum
in the first place. As most Enum functions return lists it does fit quite well as suggestion for List
, but what about other modules of enumerable types like Map
or Tuple
. For Map.map/2
I’d expect different behaviour as Enum.map
, as it should return a map not a list. The proper suggestion would imho rather be Map,new/2
, which takes an enumerable (so also a map), maps over it and returns a map. Or e.g. Tuple.filter/2
: Even though there’s a Enum function of that name filterering doesn’t make very much sense for tuples, which are meant to be fixed-size containers of data. Even List.group_by
doesn’t fit Enum.group_by
very well, as it’s one of the few Enum
functions not to return a list, but a map of data.