Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autocomplete #301

Closed
ponty96 opened this issue May 3, 2016 · 14 comments
Closed

Autocomplete #301

ponty96 opened this issue May 3, 2016 · 14 comments

Comments

@ponty96
Copy link

ponty96 commented May 3, 2016

I must say this is a very nice project and splendid work so far, but I'll just like to know when autocomplete features will be integrated into the plugin.....

@KronicDeth
Copy link
Owner

As you're already aware, autocomplete is multiple features usually grouped together by what is autocompleted. 2.0.0 introduced autocomplete for module attributes. For the next release ,I'm currently working on variable references and autocomplete. After that, I'll get function/macro autocomplete working. I'll also need to do alias autocomplete for module names. I have no idea how long any of that will take. I only get to work on this 7-15 hours a week, for about 1 hour a night. It is not terribly fast or efficient development process.

For all those autocompletions mentioned it's probably months out. Autocomplete is never really done as one can add more heuristics for more frameworks, or start integrating intellij-erlang features so that auto-completion works between Erlang and Elixir code.

@KronicDeth
Copy link
Owner

#314 adds auto-complete for parameters/variables

@KronicDeth
Copy link
Owner

#371 as auto-complete for delimiters

@KronicDeth KronicDeth changed the title Autocomplete intellij idea 2016-1 Autocomplete Aug 12, 2016
@mrkaspa
Copy link

mrkaspa commented Aug 16, 2016

@KronicDeth Is there autocompletion for calling functions in modules like atom-elixir plugin? I think that uses a tool called alchemist server.

@KronicDeth
Copy link
Owner

#389 has autocomplete for aliases and module names

@KronicDeth
Copy link
Owner

#405 ensures that autocomplete works for as: aliases

@joshuataylor
Copy link
Contributor

joshuataylor commented Sep 6, 2016

This is awesome!

Is it possible to also get autocomplete for namespaces?

  alias Foo.{Bar, Baz}

So if I type in

  alias Foo.{Bar, Baz, Ba}

Ba will autocomplete to all Foo.* classes, so like Bam, Bav, etc.

Right now it does Foo.Ba*

@KronicDeth
Copy link
Owner

@joshuataylor Yeah, I realized I missed the obvious enhancement right as I was going to release v4.3.0 and I didn't want to delay. I'll schedule it for v4.4.0.

@joshuataylor
Copy link
Contributor

Awesome!

Loving 4.3.0, it's amazing -- awesome work!

@jlerche
Copy link

jlerche commented Sep 17, 2016

What version are you targeting to have autocompletion for built-in modules like Enum?

@KronicDeth
Copy link
Owner

@jlerche Definitely not 4.4.0, that's almost done. Probably not the next one (4.5.0) either. I don't really plan beyond that.

My current thoughts of how to do built-in modules:

  1. Parse the standard library after attaching source (see Allow attaching source to SDK #113), so standard library works the same as any other dep.
  2. Hard-code the standard library (it looks like intellij-erlang did this for some functions)
  3. Do something like alchemist-server (but probably not use it directly, I would at least want modify it to use JInterface instead of talking a text protocol)
  4. Write a Java library for parsing beams directly

The standard library will likely also come after Go To Declaration for indexed functions. (The function index already exists, you can use it for the Go To Symbol (Alt+Cmd+O) search, but it's not connected to References yet.) So, version(standard library completion) = version(dep Go To Declaration + Completion) + 1, but that's just a guess and (1) would just work if you have the standard library loaded in the project as some people do. (They're reported bugs when it can't parse.)

@jlerche
Copy link

jlerche commented Apr 27, 2017

I just tried out release 5.1 and it seems, from the changelogs, that 5.0 solves this issue?

@joshuataylor
Copy link
Contributor

Yeah, autocomplete now works for standard modules. 👍
image

@KronicDeth
Copy link
Owner

Counting as completed by v5.0.0. We'll open new issues as new forms of auto-completion are proposed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Autocompletion
Planned for future releases
Development

No branches or pull requests

5 participants