ignatov / intellij-erlang

Erlang IDE
https://www.jetbrains.com/help/idea/2018.2/getting-started-with-erlang.html
Other
735 stars 120 forks source link

Elixir support #471

Closed goertzenator closed 5 years ago

goertzenator commented 10 years ago

Consider supporting the Elixir language described here: http://elixir-lang.org/

Business case: If you believe Dave Thomas (of Ruby and Pragmatic Programmer fame), Elixir is an important up and coming language. If it does become popular, a good Elixir plugin would surely drive IntelliJ sales. By having a good Erlang plugin, I think you are already halfway to having good Elixir support.

jkbbwr commented 10 years ago

+1 can we have please

borisceranic commented 10 years ago

+1!

leafpeak commented 10 years ago

+1

ignatov commented 10 years ago

Hi guys, As a temporary workaround you can install TextMate bundle via TextMate bundles support plugin.

DylanLukes commented 10 years ago

+1

newgeekorder commented 10 years ago

+1

eka commented 10 years ago

+1

KronicDeth commented 10 years ago

I just started development on an Elixir plugin: https://github.com/KronicDeth/intellij-elixir. Be kind, I'm only through (http://confluence.jetbrains.com/display/IntelliJIDEA/Language+and+File+Type), which is the first step after setting up the SDK, but I do I have Elixir icons automatically associating with .ex and .exs extensions. Anyone is welcome to join me.

vishnevskiy commented 10 years ago

Now that Elixir has hit 1.0.0 this would be awesome

:+1:

eka commented 10 years ago

+1

mkuznetsov commented 9 years ago

any progress on elixir support after workarround post and KronicDeth syntax highlight?

KronicDeth commented 9 years ago

intellij-elixir v0.2.0 has support for most tokens and for match_expr, which you could summarize as most binary operations, but I'm currently working on no_parens_expr, which is function calls without parentheses, and the rest that needs to be done before I'd count the parser as complete is any issue for the v1.0.0 milestone. The README goes over everything that's currently supported.

Just to clear, the syntax highlighting in IntelliJ is performed by the lexer, which is complete except for a few keywords, like do, so you'll get syntax highlighting, but the parser, which says which token is valid after another token is incomplete, so you'll get the red squiggly underline between tokens when the incomplete parser doesn't understand that part of the Elixir grammar yet.

The Textmate bundle still has more features as far as I can tell, but I haven't actually tried it out. Don't want to get disheartened about how many features I still need to implement to catch up with it and https://github.com/tonini/alchemist.el.

Something to look forward in v0.2.1 is the first Quick Fix (when IntelliJ shows an inspection error in red and you type ALT+ENTER and it fixes it) for no_parens_expr when you have a space between the function and the parentheses, which the Elixir compiler will error on with "unexpected parenthesis. If you are making a function call, do not insert spaces in between the function name and the opening parentheses.". I'm not sure if any of the other editor plugins can do the equivalent of Quick Fixes.

jlirochon commented 9 years ago

+1 but to me, the killer feature would be the debugger. As @KronicDeth said other syntax highlighting projects exists for Elixir. But no debugger at all ?

Since intellij-erlang seems to wrap erlang debugger, and I know we can use this debugger to debug Elixir code (successfully tested using Quaff.Debug module from https://github.com/qhool/quaff on Elixir 1.0.4), a convergence between intellij-erlang and intellij-elixir may be a good idea.

KronicDeth commented 9 years ago

@jlirochon https://github.com/KronicDeth/intellij-elixir/issues/81 already existed to add debugger support to intellij-elixir using intellij-erlang's debugger. @mvbaffa may be working on it in https://github.com/KronicDeth/intellij-elixir/issues/124 if I can explain the testing and development setup correctly for them to work on it.

smeevil commented 9 years ago

yes please !

qertoip commented 8 years ago

+1 the JetBrains Elixir IDE simply must happen :)

kvakvs commented 5 years ago

Please refer to https://github.com/KronicDeth/intellij-elixir Closing this