First, exploit prolog_edit:locate/3
Specification into a list of Locations. If there is
more than one `hit', the user is asked to select from the locations
found. Finally, prolog_edit:edit_source/1
is used to invoke the user's preferred editor. Typically, edit/1
can be handed the name of a predicate, module, basename of a file, XPCE
class, XPCE method, etc.