dash_chars(H,_):- H < 1,!. dash_chars(H,C):- forall(between(0,H,_),bformatc1(C)). %section_break:- wants_html,!,write('


'). section_break. %dash_uborder_no_nl_1:- line_position(current_output,0),!, bformatc1('\u00AF\u00AF\u00AF '). %dash_uborder_no_nl_1:- line_position(current_output,W),W==1,!, bformatc1('\u00AF\u00AF\u00AF '). dash_uborder_no_nl_1:- bformatc1('\u00AF\u00AF\u00AF '). dash_uborder_no_nl_1:- uborder(Short,Long),!, bformatc1(Short),bformatc1(Long),write_nbsp. dash_uborder_no_nl(1):- !, dash_uborder_no_nl_1. dash_uborder_no_nl(Width):- WidthM1 is Width-1, uborder(Short,Long),write_nbsp, write(Short),dash_chars(WidthM1,Long),!. dash_uborder_no_nl(Width):- WidthM1 is Width-1, write_nbsp, bformat('\u00AF'),dash_chars(WidthM1,'\u00AF\u00AF'),!. dash_uborder_no_nl(Width):- nl_if_needed, WidthM1 is Width-1, bformatc1(' \u00AF'),dash_chars(WidthM1,'\u00AF\u00AF'). dash_uborder(Width):- nl_if_needed,dash_uborder_no_nl(Width),nl_now. uborder('-','--'):- stream_property(current_output,encoding(utf8)),!. uborder('\u00AF','\u00AF\u00AF'):- !. %stream_property(current_output,encoding(text)). %uborder('-','--'). dash_border_no_nl_1:- line_position(current_output,0),!, bformatc1(' ___ '). dash_border_no_nl_1:- line_position(current_output,W),W==1,!, bformatc1('___ '). dash_border_no_nl_1:- bformatc1(' ___ '). %dash_border_no_nl(Width):- write(''),dash_chars(Width,'_'),write_nbsp,!. dash_border_no_nl(Width):- nl_if_needed, WidthM1 is Width-1, bformatc1(' _'),dash_chars(WidthM1,'__'). dash_border(Width):- !, dash_border_no_nl(Width),nl_now,!. functor_test_color(pass,green). functor_test_color(fail,red). functor_test_color(warn,yellow). arcdbg(G):- is_vm_map(G), !, write_map(G,'arcdbg'). arcdbg(G):- compound(G), compound_name_arity(G,F,_),functor_test_color(F,C), wots_hs(S,print(G)),color_print(C,S),!,nl_if_needed_ansi. arcdbg(G):- u_dmsg(G). %user:portray(Grid):- ((\+ tracing, is_group(Grid),print_grid(Grid))). %user:portray(Grid):- quietlyd((is_object(Grid),print_grid(Grid))). n_times(N,Goal):- forall(between(1,N,_),ignore(Goal)). banner_lines(Color):- banner_lines(Color,1). banner_lines(Color,N):- wants_html,!,format('\n
\n',[N,Color]),!. banner_lines(Color,N):- must_det_ll((nl_if_needed, n_times(N,color_print(Color,'-------------------------------------------------')),nl_now, n_times(N,color_print(Color,'=================================================')),nl_now, n_times(N,color_print(Color,'-------------------------------------------------')),nl_now, n_times(N,color_print(Color,'=================================================')),nl_now, n_times(N,color_print(Color,'-------------------------------------------------')),nl_now)),!. print_sso(A):- ( \+ compound(A) ; \+ (sub_term(E,A), is_gridoid(E))),!, u_dmsg(print_sso(A)),!. print_sso(A):- grid_footer(A,G,W),writeln(print_sso(W)), print_grid(W,G),!.