Comments (12)
Sorry, for some reason I thought it was 2.12+. I'll have to find some time to look into it properly.
from grafter.
Hi Shane, thanks for this plugin! I haven't been using the annotations much yet but I am going to try your plugin and will let you know.
from grafter.
Instead of doing a plugin for Idea it would be better to switch from the deprecated macros to scala.meta.
Idea supports natively Scala.meta and this let us get ride of macro paradise.
Anyway we will have to switch one day or another.
See: https://skillsmatter.com/skillscasts/9044-a-new-macro-system-for-scala
from grafter.
For sure there should be meta support. I suspect this will help with the compilation time issues in #20. It's something I was hoping to look into when I next have some free time.
I guess there's also the question of what kind of legacy version support this library wants to offer as to whether Macro support sticks around.
from grafter.
What mean is that it would be a wast of time to code a plugin for Idea instead of using Scala.meta which is supposed to offer the cross scala version support.
from grafter.
Scala.meta's scala versions: https://github.com/scalameta/scalameta/blob/master/build.sbt#L8
Grafter's scala versions: https://github.com/zalando/grafter/blob/master/build.sbt#L52
Sounds like it should work :)
Thanks @shanethehat for your help!
from grafter.
@joan38 this looks like the right direction, I might have a go at it if I find the time.
from grafter.
I'm not sure that Meta is quite at the point that it can be used for this. Its tokenizing seems solid, but the macro support depends on a new Paradise plugin that currently only seems to support 2.11. A 3.0.0 release looks like it's not far off, but without that I don't think it can be used for annotation based macros.
from grafter.
I'm not too familiar with the scalameta paradise plugin, but release 3.0.0-M8
is now built for Scala 2.11.11 and 2.12.2. Has scalameta now become a viable solution? (including annotation based macros)?
from grafter.
Just as a note, we cannot use scala 2.12.2 yet - see #63
from grafter.
@dvic yes scalameta might be a solution now but we don't have much bandwidth to try it out at the moment.
from grafter.
I am going to close this for now. The solution is not scalameta which brings its own set of problems (scalameta/scalameta#1051 for example). Let's revisit this when we can do #96
from grafter.
Related Issues (20)
- Add instances matchers HOT 1
- Filter nodes to display but respect transitive dependencies HOT 1
- Report the success of `replace` HOT 6
- Change `Rewriter.start` with `Rewriter.replaceAll`
- Support typed components with type bounds HOT 4
- Configuration with type parameters HOT 1
- Use sbt 1.x
- Compilation fail using a case class with no parameters HOT 7
- bug in Quick Start docs at https://zalando.github.io/grafter HOT 3
- scala.js support? HOT 2
- readers annotation generating reader for self HOT 4
- Use the pairs and fromOneStep functions from Kiama 2.1.0-RC2 HOT 1
- Bump to the most recent version on installation page
- Use Kiama 2.1.0 HOT 1
- Update version in installation.md HOT 1
- Provide a more idiomatic way to create reader instances in libraries HOT 1
- Visualize components attributes HOT 1
- Use only the scala AST instead of quasiquotes to implement macro-annotations HOT 1
- Migrate to the new scala macros HOT 3
- Can we mention grafter in cats' README? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grafter.