Natural Docs is an open source documentation generator for multiple programming languages. You document your code in a natural syntax that reads like plain English.

Comments written in Natural Docs will be formatted based on the following syntax:

Bold Font
// *This word* should be bolded
function bit my_function(bit argument);
endfunction
Bullet List
// Below is a list
// + This is the first element
// + This is the second element
// This is the continuation of
// the second element
function bit my_function(bit argument);
endfunction
Definition List
// Below is a definition list
// First Item - This is the definition
// of the first Item
// Second Item - This is the deinition
// of the second item
function bit my_function(bit argument);
endfunction
Heading
// Before
//
// Title of the heading:
// Content of the heading
//
// After
function bit my_function(bit argument);
endfunction
Image
// Below you can see a section of a diagram
//
// (see diagram_section.png)
function bit my_function(bit argument);
endfunction

Note

The path can be either absolute, relative to the current file or relative to additional image locations. To specify additional image locations use dvt_documentation_resource_locations_add directive.

Italic Font
// ~This word~ should be in italic font
function bit my_function(bit argument);
endfunction
Link
// Check this function out <my_other_function>
function bit my_function(bit argument);
endfunction

Note

As links you can have: an element name, a file, a valid web URL. If you Ctrl+right click on a link that contains an object name, it should jump to its declaration.

The element name must respect the following notations:

  • fully qualified names PACKAGE::CLASS.method

  • TYPE_NAME.INNER_TYPE_NAME or just TYPE_NAME, solved relative to the enclosing scope

Start Code
// Below is a code section
// (start code)
//   int a;
//   if ( a > 4 )
//      return 4;
//   return a;
// (end)
function bit my_function(bit argument);
endfunction
Topic Line
// Below you can see a topic line
//
// Function: my_first_function
function bit my_function(bit argument);
endfunction
Underline Font
// _This word_ should be underlined
function bit my_function(bit argument);
endfunction