category

# diagram(Format)

> Common predicates for generating diagrams.

author:
  `Paulo Moura`
version:
  `2.3`
date:
  `2016/5/16`

compilation flags:
  `static`

(no dependencies on other files)

## Public interface

### libraries/3

> Creates a diagram for a set of libraries using the specified options. The Project argument is used as a prefix for the diagram file name.

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. The Project argument is used as a prefix for the diagram file name.

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

### libraries/1

> Creates a diagram for a set of libraries using the default options. The prefix "libraries" is used for the diagram file name.

compilation flags:
  `static`
template:
  `libraries(Libraries)`
mode – number of proofs:
  `libraries(+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. The Project argument is used as a prefix for the diagram file name.

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. The Project argument is used as a prefix for the diagram file name.

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. The Project argument is used as a prefix for the diagram file name.

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. The Project argument is used as a prefix for the diagram file name.

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

### directory/1

> Creates a diagram for a directory using default options. The name of the directory is used as a prefix for the diagram file name.

compilation flags:
  `static`
template:
  `directory(Directory)`
mode – number of proofs:
  `directory(+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. The Project argument is used as a prefix for the diagram file name.

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. The Project argument is used as a prefix for the diagram file name.

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

### files/1

> 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. The prefix "files" is used for the diagram file name.

compilation flags:
  `static`
template:
  `files(Files)`
mode – number of proofs:
  `files(+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`

### filter_file_extension/3

> Filters the file name extension depending on the file_extensions/1 option.

compilation flags:
  `static`
template:
  `filter_file_extension(Basename,Options,Name)`
mode – number of proofs:
  `filter_file_extension(+atom,+list(compound),-atom) – 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)