
prolog_colour.pl -- Prolog syntax colouring support.This module defines reusable code to colourise Prolog source.
prolog_colourise_stream(+Stream, +SourceID, :ColourItem) is det
prolog_colourise_stream(+Stream, +SourceID, :ColourItem, +Opts) is detxref_source(SourceID).
ColourItem is a closure that is called for each identified fragment with three additional arguments:
Options
source_module(+State, -Module) is semidet[private]
read_error(+Error, +TB, +Start, +Stream) is failure[private]
warnable_singletons(+Singletons, -Warn) is det[private]
colour_item(+Class, +TB, +Pos) is det[private]
safe_push_op(+Prec, +Type, :Name, +State)[private]
fix_operators(+Term, +Module, +State) is det[private]
process_use_module1(+Imports, +Src)[private]
prolog_colourise_query(+Query:string, +SourceId, :ColourItem)
prolog_colourise_term(+Stream, +SourceID, :ColourItem, +Options)Options:
error_position(StartClause, EndClause, ErrorPos)
singleton(@Var, +TB) is semidet[private]
colourise_term(+Term, +TB, +Termpos, +Comments)[private]
structured_comment_start(-Start)[private]
colourise_term(+Term, +TB, +Pos)[private]
colourise_extended_head(+Head, +ExtraArgs, +TB, +Pos) is det[private]
colourise_extern_head(+Head, +Module, +TB, +Pos)[private]
functor_position(+Term, -FunctorPos, -ArgPosList)[private]
colourise_directive(+Body, +TB, +Pos)[private]
colourise_method_body(+MethodBody, +TB, +Pos)[private]pce(comment) and proceed
with the body.
colourise_goals(+Body, +Origin, +TB, +Pos)[private]
colourise_dcg(+Body, +Head, +TB, +Pos)[private]
colourise_goal(+Goal, +Origin, +TB, +Pos)[private]
colourise_goal_args(+Goal, +TB, +Pos)[private]
meta_args(+Goal, +TB, -ArgSpec) is semidet[private]
E.g. meta_args(maplist(foo,x,y), X) --> X = maplist(2,_,_)
NOTE: this could be cached if performance becomes an issue.
expand_meta(+MetaSpec, +Goal, -Expanded) is semidet[private]
colourise_setof(+Term, +TB, +Pos)[private]
colourise_files(+Arg, +TB, +Pos, +Why)[private]
colourise_file_list(+Files, +TB, +ElmPos, +TailPos, +Why)[private]
colourise_directory(+Arg, +TB, +Pos)[private]
colourise_langoptions(+Term, +TB, +Pos) is det[private]
colourise_class(ClassName, TB, Pos)[private]
classify_class(+SourceId, +ClassName, -Classification)[private]
colourise_term_args(+Term, +TB, +Pos)[private]
colourise_term_arg(+Term, +TB, +Pos)[private]
colourise_expression(+Term, +TB, +Pos)[private]
colourise_qq_type(+QQType, +TB, +QQTypePos)[private]
colourise_dict_kv(+Dict, +TB, +KVPosList)[private]
colourise_exports(+List, +TB, +Pos)[private]
colourise_imports(+List, +File, +TB, +Pos)[private]
colourise_declaration(+Decl, ?Which, +TB, +Pos) is det[private]
colourise_declarations(+Term, +Which, +TB, +Pos)[private]:- dynamic p/1 as incremental..
colourise_op_declaration(Op, TB, Pos) is det[private]
colourise_prolog_flag_name(+Name, +TB, +Pos)[private]
expand_macro(+TB, +Macro, -Expanded) is semidet[private]
goal_classification(+TB, +Goal, +Origin, -Class)[private]
vararg_goal_classification(+Name, +Arity, -Class) is semidet[multifile]
qualified_goal_classification(:Goal, +TB, -Class)[private]
classify_head(+TB, +Head, -Class)[private]
def_style(+Pattern, -Style)[private]
syntax_colour(?Class, ?Attributes) is nondetcolour(ColourName)background(ColourName)bold(Boolean)underline(Boolean)Attributes may be the empty list. This is used for cases where -for example- a menu is associated with the fragment. If syntax_colour/2 fails, no fragment is created for the region.
specified_item(+Specified, +Term, +TB, +TermPosition) is det[private]
specified_items(+Spec, +Term, +TB, +PosList)[private]
specified_dict_kv(+PosList, +Term, +TB, +Specs)[private]The following predicates are exported, but not or incorrectly documented.
syntax_message(Arg1, Arg2, Arg3)