diff --git a/DaedalusBuiltins/G1/gothic.d b/DaedalusBuiltins/G1/gothic.d index d72be1e..31b1a40 100644 --- a/DaedalusBuiltins/G1/gothic.d +++ b/DaedalusBuiltins/G1/gothic.d @@ -1765,7 +1765,7 @@ func void TA_RemoveOverlay(var C_NPC npc) {}; /// /// @param room name of the room as defined in the portal /// @param guild guild ID -func void AssignRoomToGuild(var string room, var int guild) {}; +func void Wld_AssignRoomToGuild(var string room, var int guild) {}; /// Assigns a room to a specific NPC /// diff --git a/DaedalusBuiltins/G2A/gothic.d b/DaedalusBuiltins/G2A/gothic.d index 62295b5..1790cdb 100644 --- a/DaedalusBuiltins/G2A/gothic.d +++ b/DaedalusBuiltins/G2A/gothic.d @@ -1903,7 +1903,7 @@ func void TA_RemoveOverlay(var C_NPC npc) {}; /// /// @param room name of the room as defined in the portal /// @param guild guild ID -func void AssignRoomToGuild(var string room, var int guild) {}; +func void Wld_AssignRoomToGuild(var string room, var int guild) {}; /// Assigns a room to a specific NPC /// diff --git a/javadoc/javadoc.go b/javadoc/javadoc.go index c824969..407ea17 100644 --- a/javadoc/javadoc.go +++ b/javadoc/javadoc.go @@ -9,12 +9,14 @@ import ( ) var ( + javadocGlobal = []byte("@global") javadocParam = []byte("@param") javadocReturn = []byte("@return") ) type javadoc struct { Summary string + Globals string Parameters string Return string } @@ -28,10 +30,26 @@ func appendMarkdownEscaped(sb *strings.Builder, text string) { } } +func formatGlobal(sb *strings.Builder, line string) { + name, desc, ok := strings.Cut(line, " ") + if ok { + name = strings.TrimSpace(name) + sb.WriteString("- `") + sb.WriteString(name) + sb.WriteString("` - ") + appendMarkdownEscaped(sb, desc) + sb.WriteString(" \n") + } else { + appendMarkdownEscaped(sb, line) + sb.WriteString(" \n") + } + +} + func formatParams(sb *strings.Builder, param, desc string) { - sb.WriteString("- **") + sb.WriteString("- `") appendMarkdownEscaped(sb, param) - sb.WriteString("** - *") + sb.WriteString("` - *") const ( PREFIX_INST = "{" @@ -109,6 +127,7 @@ func parseJavadocMdEscaped(sym symbol.Symbol) javadoc { } summary := strings.Builder{} + globals := strings.Builder{} params := strings.Builder{} returns := strings.Builder{} @@ -131,12 +150,19 @@ func parseJavadocMdEscaped(sym symbol.Symbol) javadoc { break } } + } else if bytes.HasPrefix(line, javadocGlobal) { + line = bytes.TrimSpace(bytes.TrimPrefix(line, javadocGlobal)) + formatGlobal(&globals, string(line)) } else { appendMarkdownEscaped(&summary, string(line)) summary.WriteString(" \n") } } r.Summary = strings.TrimSpace(summary.String()) + if r.Globals != "" { + globals.WriteString("\n") + } + r.Globals = strings.TrimSpace(globals.String()) r.Parameters = strings.TrimSpace(params.String()) r.Return = strings.TrimSpace(returns.String()) return r @@ -153,7 +179,15 @@ func Markdown(doc javadoc) string { sb.WriteString(doc.Summary) sb.WriteString("\n") sb.WriteString("\n") - sb.WriteString(doc.Parameters) + if doc.Globals != "" { + sb.WriteString("### Globals\n") + sb.WriteString(doc.Globals) + sb.WriteString("\n") + } + if doc.Parameters != "" { + sb.WriteString("### Parameters\n") + sb.WriteString(doc.Parameters) + } if doc.Return != "" { sb.WriteString("\n\n*returns ") sb.WriteString(doc.Return) diff --git a/javadoc/javadoc_test.go b/javadoc/javadoc_test.go index 7548f01..118f4dc 100644 --- a/javadoc/javadoc_test.go +++ b/javadoc/javadoc_test.go @@ -21,7 +21,7 @@ func TestJavadocParam(t *testing.T) { jd := javadoc.MarkdownSimple(s) - if !strings.Contains(jd, "- **p** - *decides things*") { + if !strings.Contains(jd, "- `p` - *decides things*") { t.Fatalf("expected markdown property content, actual: %s", jd) } } @@ -48,7 +48,7 @@ func TestJavadocParamWithParser(t *testing.T) { jd := javadoc.MarkdownSimple(fn) - if !strings.Contains(jd, "- **amount** - *the amount*") { + if !strings.Contains(jd, "- `amount` - *the amount*") { t.Fatalf("expected markdown property content, actual: %s", jd) } }