Skip to content

v2.3.0

Choose a tag to compare

@cesarParra cesarParra released this 19 May 22:42
· 454 commits to master since this release
a7a17da

Apexdoc blocks can now all be in a single line. For example, the following are supported

/** This is valid */
class My Class {}

It is also valid to add tags in the same line.

/** This is also valid @group My group */
class MyClass{}

Improved whitespace trimming. Blocks like the following are now better interpreted

/**
 *
 * 
 * My description
 *
 *
 */
class MyClass{}

Apex doc descriptions and tag bodies now support email addresses.

  • Previously having an email address as part of an apex doc description or tag body caused issues, because while parsing the doc the @ symbol of the email was interpreted as the start of a new tag. Now it is possible to have inline email addresses by using the {@email EMAIL_ADDRESS} inline tag. For example
/**
 * @description My Class
 * @contact {@email [email protected]}
 */
class MyClass {}
  • Note that emails will be linked as mailto links within the generated document.

Methods called void are now supported.

  • Even though the keyword void is reserved in Apex, it is still possible and valid to name a method void. This is now taken into account and no errors occur when methods are named this way.

Logging improvements

  • Errors when parsing Apex code now specify the file from where the error came from. Previously this only happened for errors while parsing Apexdoc blocks.
  • Errors are now logged in red to the console
  • Documents being parsed are logged to the console in real time, rather than logging everything at the end. This should improve the experience when parsing very large codebases that could take a while to go through.

Support for some HTML tags.

  • Previously all HTML was sanitized. Now some tags are allowed to allow for the possibility of better styling long text.
  • Allowed tags are: br, p, ul, and li

Example:

/**
 * @description <p>This is a paragraph</p>
 * <p>And this is another paragraph</p>
 */
class MyClass {}

More HTML tags can be added upon request.