arrow-meta icon indicating copy to clipboard operation
arrow-meta copied to clipboard

Meta Ide for 2020.1

Open i-walker opened this issue 5 years ago • 4 comments

Problem: Currently, the Meta DSL for the ide solely reflects the capabilities of a compiler-plugin, which acts on one project at a time. Whereas the ide performs changes at both project and application level. This issue tries to attune this imbalance, through changes in the Meta DSL.

enabled Features:

  • #450 Plugins in Meta are Dynamic Plugin by default - enables loading plugins without restarting the Ide.
  • #447 Host 3rd party plugins users can enable and disable as part of the Arrow effort to include ide plugins for mu-Kotlin, optics, generics and others. - the algebra of Meta adapts to any programming language in IntelliJ. This enables the same opt-in strategy compiler plugins promote and is in line with upcoming standards for Dynamic Plugins in IntelliJ 2020.1. Furthermore, this enables us to tie build settings to ide plugins, for a performant set-up.
  • #448 Full control over the ide. Our current internals limits us to exploit only a handful of phases in the ide life cycle. #448 Will document which phases the Meta DSL exposes.

removed errors:

  • [x] #378
  • [x] #228
  • [x] #227

Roadmap- In order:

  • [x] #444
  • [x] #445 // Task is finished, but issue is still open, due to missing docs.
  • [x] #446 done for master in #519 and in type-proofs #522
  • [ ] #448
  • [ ] #450
  • [ ] #447

i-walker avatar Feb 13 '20 10:02 i-walker

Are you aware that jetbrains is working on a new plugin API? If so, will you use it?

LifeIsStrange avatar Mar 17 '20 03:03 LifeIsStrange

Which Plugin API if I may ask? :)

i-walker avatar Mar 17 '20 11:03 i-walker

Hi @i-walker , I don't know how it's called and where it's documented.

I just read A sane plugin API. This is a saner API for compiler plugins that is under development, but not quite finalised even for experimental access (and not documented either) Here: https://discuss.kotlinlang.org/t/reading-kotlin-compiler-source-advices/16459

LifeIsStrange avatar Mar 17 '20 11:03 LifeIsStrange

Maybe you could make feedback on your desired API changes before it stabilize?

LifeIsStrange avatar Mar 17 '20 11:03 LifeIsStrange