Use the command C-c RET to add a term to the buffer at point while keeping it syntactically correct. You don’t need to give the entire term at once, only its functor and arity. Sweep automatically inserts holes for the arguments (if any), which you can incrementally fill one after the other.
Insert a Prolog term with a given functor and arity at point, using
holes for arguments (sweeprolog-insert-term-with-holes
).
The main command for inserting terms with holes is
sweeprolog-insert-term-with-holes
. This command, bound by
default to C-c C-m (or C-c RET) in Sweep Prolog mode
buffers, prompts for a functor and an arity and inserts a
corresponding term with holes in place of the term’s arguments. It
leaves point right after the first hole, sets the mark to its start
and activates the region such that the hole is marked. Call
sweeprolog-insert-term-with-holes
again to replace the active
region, which now covers the first hole, with another term, that may
again contain further holes. That way you can incrementally write a
Prolog term, including whole clauses, by working down the syntactic
structure of the term and maintaining its correctness all the while.
Without a prefix argument, sweeprolog-insert-term-with-holes
prompts for the functor and the arity to use. A non-negative prefix
argument, such as C-2 C-c C-m or C-u C-c C-m, is taken to
be the inserted term’s arity and in this case
sweeprolog-insert-term-with-holes
only prompts for the functor
to insert. A negative prefix argument, C-- C-c C-m, inserts
only a single hole without prompting for a functor. To further help
with keeping the buffer syntactically correct, this command adds a
comma (,
) before or after the inserted term when needed
according to the surrounding tokens. If you call it at the end of a
term that doesn’t have a closing fullstop, it adds the fullstop after
the inserted term.