Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DaedalusBuiltins/G1/gothic.d
Original file line number Diff line number Diff line change
Expand Up @@ -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
///
Expand Down
2 changes: 1 addition & 1 deletion DaedalusBuiltins/G2A/gothic.d
Original file line number Diff line number Diff line change
Expand Up @@ -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
///
Expand Down
40 changes: 37 additions & 3 deletions javadoc/javadoc.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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 = "{"
Expand Down Expand Up @@ -109,6 +127,7 @@ func parseJavadocMdEscaped(sym symbol.Symbol) javadoc {
}

summary := strings.Builder{}
globals := strings.Builder{}
params := strings.Builder{}
returns := strings.Builder{}

Expand All @@ -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
Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions javadoc/javadoc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}
Expand All @@ -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)
}
}