…ng logic can be easily used by other plugins (e.g., worksheet) The extension mechanism is such that other plugins will be able to register new source file provider and benefit of the existing declaration hyperlink detection logic. The fix was motivated by https://github.com/dragos/scala-worksheet/issues/23, and hopefully it will be useful for others. Fix #1001208
This is the initial import of all the implicit-highlighting code (i.e. Jin Mingjian's GSOC contribution) from wip_exp_backport to wip_experiment. This includes a new extension point to register extensions for the editor's reconciliation process, the parts that handle the actual annotation of the editor as well as quickfixes. I tried to change as little as possible in the code, but I changed some of the packages to keep the relevant code parts closer together. I also changed how the quickfix gets the annotations (ScalaQuick- AssistProcessor's getAssists): the previous version used the locations-Array, but this didn't work for me (I wonder why this ever worked), so I changed it to use the IInvocationContext. To the reviewers: I left some XXX/TODO comments in the code when I wasn't sure about something (there are also some left from the original implementation). Also, the parts relevant for the PC interaction is in the SemanticHighlightingPresenter's update method.