All predicatesShow sourceinclude.pl -- Support :- include(File) from SWISH

This module allows SWISH programs to include other programs from the shared gitty store. It realises this using the following steps:

We allow for hierarchical and circular includes.

Source include_data(+FileSpec, -URI, -Data)[private]
Fetch the data to be included and obtain the URI for it.
Source include_file_id(+FileIn, -File) is det[private]
Normalise an include file identifier and verify its safeness.
Source file_alias(+File, -Spec) is semidet[private]
Translate Alias/Name into Alias(Name) if Alias is known and Name is safe.
Source add_extension(+File, -FileExt) is det[private]
Add a file name extension to indicate this is a Prolog file.
Source prolog:xref_source_identifier(+Src, -Id) is semidet[multifile]
prolog:xref_open_source(+File, -Stream) is det[multifile]
prolog:xref_source_time(+File, -Modified) is det[multifile]
Map swish://file to a file from the gitty store.
Source prolog:xref_source_file(+Term, -Path, +Options)[multifile]
Deal with the above expansion for :- include(program) to support the cross-referencer.
Source prolog:xref_source_identifier(+Src, -Id) is semidet[private]
prolog:xref_open_source(+File, -Stream) is det[private]
prolog:xref_source_time(+File, -Modified) is det[private]
Map swish://file to a file from the gitty store.
Source prolog:xref_source_identifier(+Src, -Id) is semidet[private]
prolog:xref_open_source(+File, -Stream) is det[private]
prolog:xref_source_time(+File, -Modified) is det[private]
Map swish://file to a file from the gitty store.