1% any.pl
    2% Dec 13, 2035
    3% Douglas Miles
    4%
    5% This file defines the basics of dmsg/show/hide
    6
    7% :-swi_module(user). 
    8:-swi_module(showdebug, []).    9
   10:- include(prologmud(mud_header)).   11
   12tCol(vtOnOff).
   13
   14isa(vOn,vtOnOff).
   15isa(vOff,vtOnOff).
   16
   17impl_coerce_hook(Text,vtOnOff,ON_OFF):-text_to_string(Text,FLAG),to_on_off(FLAG,vOn,vOff,ON_OFF).
   18
   19t_f("vOn","vOff").
   20t_f("t","f").
   21t_f("true","false").
   22t_f("on","off").
   23t_f("1","0").
   24t_f("show","hide").
   25t_f("yes","no").
   26t_f("y","n").
   27
   28to_on_off(FLAG,ON,OFF,ON_OFF):- t_f(_,FLAG) -> ON_OFF=OFF; ON_OFF=ON.
   29
   30% :-onEachLoad(do_gc).
   31 
   32show_dmsg_values:- listing(tlbugger:dmsg_match/2),current_prolog_flag(opt_debug,ON_OFF),fmt(current_prolog_flag(opt_debug,ON_OFF)),debugging.
   33
   34% dmsg/show/hide
   35baseKB:action_info(actDMsg(isOptional(vtOnOff,isValueMissing)),"set the dmsg flag to on/off").
   36baseKB:agent_call_command(_Agent,actDMsg(isValueMissing)):- !, show_dmsg_values.
   37baseKB:agent_call_command(_Agent,actDMsg(ON_OFF)):- !, (ON_OFF==vOff->FLAG=false;FLAG=true),set_show_dmsg(FLAG).
   38
   39set_show_dmsg(FLAG):- set_prolog_flag(debug,FLAG),set_bugger_flag(opt_debug,FLAG),fmt(current_prolog_flag(opt_debug,FLAG)).
   40
   41baseKB:action_info(actShow(isOptional(ftProlog,isValueMissing)),"show messages of col").
   42baseKB:agent_call_command(_Agent,actShow(A)):-!, (A==isValueMissing -> (set_show_dmsg(true),show_dmsg_values) ; (bugger:dmsg_show(A),prolog_debug:debug(A))).
   43
   44baseKB:action_info(actHide(isOptional(ftProlog,isValueMissing)),"hide messages of col").
   45baseKB:agent_call_command(_Agent,actHide(A)):-!, A==isValueMissing -> (set_show_dmsg(false),show_dmsg_values) ; (bugger:dmsg_hide(A),prolog_debug:nodebug(A)).
   46
   47% ===========================================================
   48% DEBUG/NODEBUG command
   49% ===========================================================
   50baseKB:text_actverb(debug,actShow).
   51baseKB:text_actverb(nodebug,actHide).
   52
   53
   54:- include(prologmud(mud_footer)).