Publish shared FXML diagnostics and integrate IntelliJ Problems
Navigate authoritative FXML locations, withdraw stale results and preserve host Undo/Redo. Include editor ownership in native problem identity so equal diagnostics from separate owners survive independent cleanup. Qualify both hosts automatically.
This commit is contained in:
@@ -74,6 +74,11 @@ public record HostServices(
|
||||
public interface Navigation {
|
||||
CompletionStage<Void> open(Location location);
|
||||
|
||||
/** Open authoritative source at an offset, rather than selecting the visual designer. */
|
||||
default CompletionStage<Void> openSource(Location location) {
|
||||
return open(location);
|
||||
}
|
||||
|
||||
/** Editable attached sources whose owning project is known to the host. */
|
||||
default CompletionStage<List<Location>> componentSources(String type) {
|
||||
return java.util.concurrent.CompletableFuture.completedFuture(List.of());
|
||||
@@ -98,6 +103,16 @@ public record HostServices(
|
||||
|
||||
public interface Diagnostics {
|
||||
void report(Diagnostic diagnostic);
|
||||
|
||||
/** Replace one editor's current diagnostics, never append obsolete validation results. */
|
||||
default void replace(
|
||||
String owner,
|
||||
de.neitzel.fxdesigner.contracts.DocumentSnapshot source,
|
||||
String context,
|
||||
List<Diagnostic> diagnostics) {}
|
||||
|
||||
/** Withdraw this editor's diagnostics without removing another editor's results. */
|
||||
default void clear(String owner) {}
|
||||
}
|
||||
|
||||
public record BuildRequest(
|
||||
|
||||
Reference in New Issue
Block a user