Skip to content

Commit

Permalink
feat: add support for no param functions
Browse files Browse the repository at this point in the history
  • Loading branch information
megatank58 committed Mar 10, 2022
1 parent ecffefd commit 86a9880
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 13 deletions.
39 changes: 27 additions & 12 deletions docgen.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,30 @@ func ParseStructure(line string, StructureDocs StructureData) StructureData {
return StructureDocs
}

/**
* @info Parse name of a function
* @param {string} [line] The line of comment
* @param {FunctionData} [FunctionDocs] The Function Docs for adding data
*/
func ParseFunctionName(line string, FunctionDocs FunctionData) FunctionData {
array := Split(FunctionDocs.Line, " ")
for _, word := range array {
if IsFunctionLine(word) {
continue
}
if EndsWith(word, "()") {
FunctionDocs.Name = Remove(word, "()")
break
}
if StartsWith(word, "(") || EndsWith(word, ")") {
continue
}
FunctionDocs.Name = Split(word, "(")[0]
break
}
return FunctionDocs
}

/**
* @info Parse a single line of a function comment
* @param {string} [line] The line of comment
Expand All @@ -174,21 +198,12 @@ func ParseStructure(line string, StructureDocs StructureData) StructureData {
func ParseFunction(line string, FunctionDocs FunctionData) (FunctionData, string) {
line, name := Trim(line), ""
FunctionDocs.Line = Trim(Remove(line, "{"))
array := Split(FunctionDocs.Line, " ")
if IsFunctionOfStructureLine(line) {
FunctionDocs.Name = Remove(Remove(array[2], "*"), ")")
FunctionDocs = ParseFunctionName(FunctionDocs.Line, FunctionDocs)
name = FunctionDocs.Name
println(name)
} else if IsFunctionLine(line) {
for _, word := range array {
if IsFunctionLine(word) {
continue
}
if StartsWith(word, "(") || EndsWith(word, ")") {
continue
}
FunctionDocs.Name = Split(word, "(")[0]
break
}
FunctionDocs = ParseFunctionName(FunctionDocs.Line, FunctionDocs)
}
if StartsWith(line, "* @info") {
FunctionDocs.Description = ParseDescription(line)
Expand Down
20 changes: 19 additions & 1 deletion output.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"Meta": {
"Generator": "1",
"Format": "1",
"Date": "2022-02-26 11:06:09.33491109 +0000 UTC m=+0.000186338"
"Date": "2022-03-10 03:57:53.804889897 +0000 UTC m=+0.000218282"
},
"Functions": [
{
Expand Down Expand Up @@ -88,6 +88,24 @@
],
"Returns": {}
},
{
"Name": "ParseFunctionName",
"Line": "func ParseFunctionName(line string, FunctionDocs FunctionData) FunctionData",
"Description": "Parse name of a function",
"Parameters": [
{
"Name": "line",
"Type": "string",
"Description": "The line of comment"
},
{
"Name": "FunctionDocs",
"Type": "FunctionData",
"Description": "The Function Docs for adding data"
}
],
"Returns": {}
},
{
"Name": "ParseFunction",
"Line": "func ParseFunction(line string, FunctionDocs FunctionData) (FunctionData, string)",
Expand Down

0 comments on commit 86a9880

Please sign in to comment.