私はEmmyLuaをお勧めします。
これは、ドキュメントの入力をサポートする Intellij/VSCode プラグインです。全体的な文書化のアプローチ方法は非常に友好的であることがわかりました。また、IDE サポートのおかげで、EmmyLua はヒンティングもサポートしています。
以下は、EmmyLua doc の小さなスニペットです。
--- @alias recipe_prototype any
--- @alias recipe_name string
--- @alias ingredient_name string
--- @class Coordinate
--- @field x number
--- @field y number
--- @class Entity
--- @field entity_number number unique identifier of entity
--- @field name string entity name
--- @field position Coordinate
--- @field direction any defines.direction.east/south/west/north
--- @class BlueprintSection
--- @field entities Entity[]
--- @field inlets number[] index of inlets in entities list
--- @field outlets number[] index of outlets in entities list
--- @type BlueprintSection
BlueprintSection = {}
--- @return BlueprintSection
function BlueprintSection.new()
--- ...
end
--- @param other BlueprintSection
--- @param xoff number optional, x-offset of the other section, default to width of self
--- @param yoff number optional, y-offset of the other section, default to 0
--- @return BlueprintSection new self
function BlueprintSection:concat(other, xoff, yoff)
-- ...
end
ドキュメント リファレンスの詳細については、https://emmylua.github.ioを確認してください。