Hi, I guess the complete version of the IDE no longer matters given what you described.
The use case is the following:
I'm doing some integration between fxml (javafx) and scala so that I can create the GUI in the scene builder and in the code bind variables to components by means of a selector string. Said selector is checked against the fxml to check whether it exists or not.
In order to do this I have two macros, the first one is declareFxmlSource, which associates a file (yes, not the class) with the fxml, it loads the XML and stores it in the cache for later use of the second macro: that is subNode which takes the root node as loaded by FXMLLoader and the string.
The end result is quite pleasing.
Not being able to use the globalCache, I would have to resort to some kind of cache in a temp file system or reparse the fxml each time which doesn't seem very promising..
Thanks for the quick feedback.
private val declaration = FxMacros.declareFxmlSource("main.fxml")
val allContent: BorderPane = FXMLLoader.load(getClass.getResource("/main.fxml"))
val menuBar: MenuBar = FxMacros.subNode(allContent)("top/MenuBar")
val fileMenu: Menu = FxMacros.subNode(allContent)("top/MenuBar/menus/Menu#file")