|
20 | 20 | import org.bukkit.event.Cancellable;
|
21 | 21 | import org.bukkit.event.Event;
|
22 | 22 | import org.bukkit.event.block.BlockCanBuildEvent;
|
| 23 | +import org.jetbrains.annotations.NotNull; |
23 | 24 | import org.jetbrains.annotations.Nullable;
|
24 | 25 | import org.skriptlang.skript.lang.entry.EntryData;
|
25 | 26 | import org.skriptlang.skript.lang.entry.EntryValidator;
|
@@ -442,10 +443,7 @@ private String generateAnnotated(String descTemp, SyntaxElementInfo<?> info, @Nu
|
442 | 443 | .replace("\\", "\\\\").replace("\"", "\\\"").replace("\t", " "));
|
443 | 444 |
|
444 | 445 | // Examples
|
445 |
| - Examples examples = c.getAnnotation(Examples.class); |
446 |
| - desc = desc.replace("${element.examples}", Joiner.on("<br>").join(getDefaultIfNullOrEmpty((examples != null ? Documentation.escapeHTML(examples.value()) : null), "Missing examples."))); |
447 |
| - desc = desc.replace("${element.examples-safe}", Joiner.on("<br>").join(getDefaultIfNullOrEmpty((examples != null ? Documentation.escapeHTML(examples.value()) : null), "Missing examples.")) |
448 |
| - .replace("\\", "\\\\").replace("\"", "\\\"").replace("\t", " ")); |
| 446 | + desc = extractExamples(desc, c); |
449 | 447 |
|
450 | 448 | // Documentation ID
|
451 | 449 | desc = desc.replace("${element.id}", DocumentationIdProvider.getId(info));
|
@@ -546,6 +544,29 @@ private String generateAnnotated(String descTemp, SyntaxElementInfo<?> info, @Nu
|
546 | 544 | return desc;
|
547 | 545 | }
|
548 | 546 |
|
| 547 | + private @NotNull String extractExamples(String desc, Class<?> syntax) { |
| 548 | + if (syntax.isAnnotationPresent(Example.class)) { |
| 549 | + Example examples = syntax.getAnnotation(Example.class); |
| 550 | + return this.addExamples(desc, examples.value()); |
| 551 | + } else if (syntax.isAnnotationPresent(Example.Examples.class)) { |
| 552 | + Example.Examples examples = syntax.getAnnotation(Example.Examples.class); |
| 553 | + return this.addExamples(desc, Arrays.stream(examples.value()) |
| 554 | + .map(Example::value).toArray(String[]::new)); |
| 555 | + } else if (syntax.isAnnotationPresent(Examples.class)) { |
| 556 | + Examples examples = syntax.getAnnotation(Examples.class); |
| 557 | + return this.addExamples(desc, examples.value()); |
| 558 | + } else { |
| 559 | + return this.addExamples(desc, (String[]) null); |
| 560 | + } |
| 561 | + } |
| 562 | + |
| 563 | + private @NotNull String addExamples(String desc, String @Nullable ... examples) { |
| 564 | + desc = desc.replace("${element.examples}", Joiner.on("<br>").join(getDefaultIfNullOrEmpty((examples != null ? Documentation.escapeHTML(examples) : null), "Missing examples."))); |
| 565 | + desc = desc.replace("${element.examples-safe}", Joiner.on("<br>").join(getDefaultIfNullOrEmpty((examples != null ? Documentation.escapeHTML(examples) : null), "Missing examples.")) |
| 566 | + .replace("\\", "\\\\").replace("\"", "\\\"").replace("\t", " ")); |
| 567 | + return desc; |
| 568 | + } |
| 569 | + |
549 | 570 | private String generateEvent(String descTemp, SkriptEventInfo<?> info, @Nullable String page) {
|
550 | 571 | Class<?> c = info.getElementClass();
|
551 | 572 | String desc;
|
|
0 commit comments