Did you know ... Search Documentation:
edit.pl -- Editor interface
PublicShow source

This module implements the generic editor interface. It consists of two extensible parts with little in between. The first part deals with translating the input into source-location, and the second with starting an editor.

Source edit(+Spec)
Edit indicated object.
Source edit
Edit associated or script file. This is the Prolog file opened by double-clicking or the file loaded using
% swipl [-s] file.pl
Source locate(+Spec, -FullSpec, -Location:dict)[multifile]
Source is_file_search_spec(@Spec) is semidet[private]
True if Spec is valid pattern for absolute_file_name/3.
Source find_source(++FileSpec, =File) is semidet[private]
Find a source file from FileSpec. If FileSpec resolves to a .qlf file, File is the embedded `.pl` file (which may not exist).
Source locate(+Spec, -Location)[multifile]
Locate object from the specified location.
Source do_edit_source(+Location)[private]
Actually call the editor to edit Location, a list of Name(Value) that contains file(File) and may contain line(Line). First the multifile hook edit_source/1 is called. If this fails the system checks for XPCE and the prolog-flag editor. If the latter is built_in or pce_emacs, it will start PceEmacs.

Finally, it will get the editor to use from the prolog-flag editor and use edit_command/2 to determine how this editor should be called.

Source editor(-Editor)[private]
Determine the external editor to run.
Source edit_command(+Editor, -Command)[multifile]
This predicate should specify the shell-command called to invoke the user's editor. The following substitutions will be made:
%ePath name of the editor
%fPath name of the file to be edited
%dLine number of the target
Source select_location(+Pairs, +UserSpec, -Location) is semidet[multifile]
Arguments:
Pairs- is a list of Location-Spec pairs
Location- is a list of properties
Source existing_location(+Location) is semidet[private]
True when Location can be edited. By default that means that the file exists. This facility is hooked to allow for alternative ways to reach the source, e.g., by lazily downloading it.
Source read_number(+Max, -X) is semidet[private]
Read a number between 1 and Max. If Max < 10, use get_single_char/1.
Source short_filename(+Path, -Spec) is det[private]
Spec is a way to refer to the file Path that is shorter. The path is shortened by either taking it relative to the current working directory or use one of the Prolog path aliases.