category

# diagram(Format)

> Common predicates for generating diagrams.

author:
  `Paulo Moura`
version:
  `2.1`
date:
  `2016/2/29`

compilation flags:
  `static`

(no dependencies on other files)

## Public interface

### libraries/3

> Creates a diagram for a set of libraries using the specified options.

compilation flags:
  `static`
template:
  `libraries(Project,Libraries,Options)`
mode – number of proofs:
  `libraries(+atom,+list(atom),+list(compound)) – one`

### libraries/2

> Creates a diagram for a set of libraries using the default options.

compilation flags:
  `static`
template:
  `libraries(Project,Libraries)`
mode – number of proofs:
  `libraries(+atom,+list(atom)) – one`

### all_libraries/1

> Creates a diagram for all loaded libraries using the specified options.

compilation flags:
  `static`
template:
  `all_libraries(Options)`
mode – number of proofs:
  `all_libraries(+list(compound)) – one`

### all_libraries/0

> Creates a diagram for all loaded libraries using default options.

compilation flags:
  `static`
mode – number of proofs:
  `all_libraries – one`

### rlibrary/2

> Creates a diagram for a library and its sub-libraries using the specified options.

compilation flags:
  `static`
template:
  `rlibrary(Library,Options)`
mode – number of proofs:
  `rlibrary(+atom,+list(compound)) – one`

### rlibrary/1

> Creates a diagram for a library and its sub-libraries using default options.

compilation flags:
  `static`
template:
  `rlibrary(Library)`
mode – number of proofs:
  `rlibrary(+atom) – one`

### library/2

> Creates a diagram for a library using the specified options.

compilation flags:
  `static`
template:
  `library(Library,Options)`
mode – number of proofs:
  `library(+atom,+list(compound)) – one`

### library/1

> Creates a diagram for a library using default options.

compilation flags:
  `static`
template:
  `library(Library)`
mode – number of proofs:
  `library(+atom) – one`

### directories/3

> Creates a diagram for a set of directories using the specified options.

compilation flags:
  `static`
template:
  `directories(Project,Directories,Options)`
mode – number of proofs:
  `directories(+atom,+list(atom),+list(compound)) – one`

### directories/2

> Creates a diagram for a set of directories using the default options.

compilation flags:
  `static`
template:
  `directories(Project,Directories)`
mode – number of proofs:
  `directories(+atom,+list(atom)) – one`

### directory/3

> Creates a diagram for a directory using the specified options.

compilation flags:
  `static`
template:
  `directory(Project,Directory,Options)`
mode – number of proofs:
  `directory(+atom,+atom,+list(compound)) – one`

### directory/2

> Creates a diagram for a directory using default options.

compilation flags:
  `static`
template:
  `directory(Project,Directory)`
mode – number of proofs:
  `directory(+atom,+atom) – one`

### files/3

> Creates a diagram for a set of files using the specified options. The file can be specified by name, basename, full path, or using library notation.

compilation flags:
  `static`
template:
  `files(Project,Files,Options)`
mode – number of proofs:
  `files(+atom,+list(atom),+list(compound)) – one`

### files/2

> Creates a diagram for a set of files using the default options. The file can be specified by name, basename, full path, or using library notation.

compilation flags:
  `static`
template:
  `files(Project,Files)`
mode – number of proofs:
  `files(+atom,+list(atom)) – one`

### all_files/1

> Creates a diagram for all loaded files using the specified options.

compilation flags:
  `static`
template:
  `all_files(Options)`
mode – number of proofs:
  `all_files(+list(compound)) – one`

### all_files/0

> Creates a diagram for all loaded files using default options.

compilation flags:
  `static`
mode – number of proofs:
  `all_files – one`

### format_object/1

> Returns the identifier of the object implementing the graph language currently being used. Fails if none is specified.

compilation flags:
  `static`
template:
  `format_object(Object)`
mode – number of proofs:
  `format_object(-object_identifier) – zero_or_one`

### default_option/1

> Enumerates by backtracking the default options used when generating a diagram.

compilation flags:
  `static`
template:
  `default_option(DefaultOption)`
mode – number of proofs:
  `default_option(?compound) – zero_or_more`

### default_options/1

> Returns a list of the default options used when generating a diagram.

compilation flags:
  `static`
template:
  `default_options(DefaultOptions)`
mode – number of proofs:
  `default_options(-list(compound)) – one`

## Protected interface

### merge_options/2

> Merges the user options with the default options, returning the list of options used when generating a diagram. Path arguments in options are expanded to full paths. Also ensures that all directory paths end with a slash.

compilation flags:
  `static`
template:
  `merge_options(UserOptions,Options)`
mode – number of proofs:
  `merge_options(+list(compound),-list(compound)) – one`

### output_rlibrary/3

> Generates diagram output for a library and its sub-libraries using the specified options.

compilation flags:
  `static`
template:
  `output_rlibrary(Library,Path,Options)`
mode – number of proofs:
  `output_rlibrary(+atom,+atom,+list(compound)) – one`

### output_library/3

> Generates diagram output for a library using the specified options.

compilation flags:
  `static`
template:
  `output_library(Library,Path,Options)`
mode – number of proofs:
  `output_library(+atom,+atom,+list(compound)) – one`

### output_files/2

> Generates diagram output for a list of files using the specified options.

compilation flags:
  `static`
template:
  `output_files(Files,Options)`
mode – number of proofs:
  `output_files(+list,+list(compound)) – one`

### output_file/4

> Generates diagram output for a file using the specified options.

compilation flags:
  `static`
template:
  `output_file(Path,Basename,Directory,Options)`
mode – number of proofs:
  `output_file(+atom,+atom,+atom,+list(compound)) – one`

### output_externals/1

> Outputs external entities using the specified options.

compilation flags:
  `static`
template:
  `output_externals(Options)`
mode – number of proofs:
  `output_externals(+list(compound)) – one`

### reset/0

> Resets all temporary information used when generating a diagram.

compilation flags:
  `static`
mode – number of proofs:
  `reset – one`

### output_node/6

> Outputs a graph node.

compilation flags:
  `static`
template:
  `output_node(Identifier,Label,Caption,Contents,Kind,Options)`
mode – number of proofs:
  `output_node(+nonvar,+nonvar,+nonvar,+list(nonvar),+atom,+list(compound)) – one`

### edge/5

> Enumerates, by backtracking, all saved edges.

compilation flags:
  `static`
template:
  `edge(From,To,Labels,Kind,Options)`
mode – number of proofs:
  `edge(?nonvar,?nonvar,?list(nonvar),?atom,?list(compound)) – zero_or_more`

### output_edges/1

> Outputs all edges.

compilation flags:
  `static`
template:
  `output_edges(Options)`
mode – number of proofs:
  `output_edges(+list(compound)) – one`

### save_edge/5

> Saves a graph edge.

compilation flags:
  `static`
template:
  `save_edge(From,To,Labels,Kind,Options)`
mode – number of proofs:
  `save_edge(+nonvar,+nonvar,+list(nonvar),+atom,+list(compound)) – one`

### not_excluded_file/3

> True when the given file is not excluded from the generated output. Excluded files may be specified by full path or by basename and with or without extension.

compilation flags:
  `static`
template:
  `not_excluded_file(ExcludedFiles,Path,Basename)`
mode – number of proofs:
  `not_excluded_file(+list(atom),+atom,+atom) – zero_or_one`

### diagram_name_suffix/1

> Returns the diagram name suffix.

compilation flags:
  `static`
template:
  `diagram_name_suffix(Suffix)`
mode – number of proofs:
  `diagram_name_suffix(-atom) – one`

### output_file_path/4

> Returns the output file path.

compilation flags:
  `static`
template:
  `output_file_path(Name,Options,Format,Path)`
mode – number of proofs:
  `output_file_path(+atom,+list(atom),+object_identifier,-atom) – one`

### locate_file/5

> Locates a file given its name, basename, full path, or library notation representation.

compilation flags:
  `static`
template:
  `locate_file(File,Basename,Extension,Directory,Path)`
mode – number of proofs:
  `locate_file(+atom,+atom,+atom,+atom,-atom) – one`

### ground_entity_identifier/3

> Converts an entity identifier to a ground term.

compilation flags:
  `static`
template:
  `ground_entity_identifier(Kind,Identifier,GroundIdentifier)`
mode – number of proofs:
  `ground_entity_identifier(+atom,+callable,-callable) – one`

### add_link_options/3

> Adds urls/2 and tooltip/1 link options (for use by the graph language) based on the specified path to the list of options.

compilation flags:
  `static`
template:
  `add_link_options(Path,Options,GraphOptions)`
mode – number of proofs:
  `add_link_options(+atom,+list(compound),-list(compound)) – one`

### omit_path_prefix/3

> Removes a prefix from a path, returning the relative path, when using the option omit_path_prefixes/1. Used mainly for contructing file node identitifers and captions.

compilation flags:
  `static`
template:
  `omit_path_prefix(Path,Options,Relative)`
mode – number of proofs:
  `omit_path_prefix(+atom,+list(compound),-atom) – one`

## Private predicates

### edge_/5

> Table of saved edges.

compilation flags:
  `dynamic`
template:
  `edge_(From,To,Labels,Kind,Options)`
mode – number of proofs:
  `edge_(?nonvar,?nonvar,?list(nonvar),?atom,?list(compound)) – zero_or_more`

## Operators

### (none)

## Remarks

### (none)

## See also

### (none)