Meta Ide for 2020.1
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 pluginsusers 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
Are you aware that jetbrains is working on a new plugin API? If so, will you use it?
Which Plugin API if I may ask? :)
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
Maybe you could make feedback on your desired API changes before it stabilize?