+ # Init a new DocCommand from its `name`
+ #
+ # You must redefine this method to add new custom commands.
+ fun new_command(name, string: String): nullable DocCommand do
+ if name == "doc" then return new CommentCommand(string)
+ if name == "list" then return new ListCommand(string)
+ if name == "param" then return new ParamCommand(string)
+ if name == "return" then return new ReturnCommand(string)
+ if name == "new" then return new NewCommand(string)
+ if name == "call" then return new CallCommand(string)
+ if name == "code" then return new CodeCommand(string)
+ if name == "graph" then return new GraphCommand(string)
+ return null
+ end
+
+ # Errors and warnings from last call to `parse`
+ var errors = new Array[DocMessage]
+
+ # Generate an error
+ fun error(message: String, col: nullable Int) do
+ errors.add new DocMessage(1, message, col)
+ end
+
+ # Generate a warning
+ fun warning(message: String, col: nullable Int) do
+ errors.add new DocMessage(2, message, col)
+ end