Skip to content

Commit a7e12f2

Browse files
committed
CLEAN: Use dictionaries for options in more places.
1 parent 5057144 commit a7e12f2

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

prolog/dot.pl

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -294,16 +294,14 @@
294294
options{directed: false, name: "noname", overlap: false, strict: false},
295295
Options1
296296
),
297-
% Obtain values for all options.
298-
dict_select(
299-
_{directed: Directed, name: Name, overlap: Overlap, strict: Strict},
300-
Options1,
301-
Options2
302-
),
303297
% Typecheck all option values.
298+
dict_select(directed, Options1, Options2, Directed),
304299
must_be(boolean, Directed),
300+
dict_select(name, Options2, Options3, Name),
305301
must_be(string, Name),
302+
dict_select(overlap, Options3, Options4, Overlap),
306303
must_be(boolean, Overlap),
304+
dict_select(strict, Options4, Options5, Strict),
307305
must_be(boolean, Strict),
308306
% Check for forbidden combinations of option values.
309307
( Directed == false,
@@ -319,11 +317,11 @@
319317
dot_graph_type(Directed, Type),
320318
format_debug(dot, Out, "~a ~s {", [Type,Name]),
321319
merge_dicts(
322-
Options2,
320+
Options5,
323321
options{charset: 'UTF-8', colorscheme: svg, compound: true},
324-
Options3
322+
Options6
325323
),
326-
dot_attributes(Options3, GraphAttrsString),
324+
dot_attributes(Options6, GraphAttrsString),
327325
format_debug(dot, Out, " graph~s;", [GraphAttrsString]),
328326
call(Goal_1, Out),
329327
format_debug(dot, Out, "}").

prolog/gv.pl

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,20 +101,25 @@
101101
gv_export_default_format_(_, DefaultFormat) :-
102102
setting(default_gv_export_format, DefaultFormat).
103103

104-
%! gv_options_(+Options0:dict, +DefaultFormat:gv_format, -Format:gv_format, -Type:gv_type, -Method:gv_method, -Options:dict) is det.
105-
106-
gv_options_(Options0, DefaultFormat, Format, Type, Method, Options2) :-
104+
%! gv_options_(+Options0:dict,
105+
%! +DefaultFormat:gv_format,
106+
%! -Format:gv_format,
107+
%! -Type:gv_type,
108+
%! -Method:gv_method,
109+
%! -Options:dict) is det.
110+
111+
gv_options_(Options0, DefaultFormat, Format, Type, Method, Options3) :-
107112
% Set default option values.
108113
setting(default_gv_method, DefaultMethod),
109114
merge_dicts(
110115
Options0,
111116
options{format: DefaultFormat, method: DefaultMethod},
112117
Options1
113118
),
114-
% Obtain values for all options.
115-
dict_select(_{format: Format, method: Method}, Options1, Options2),
116-
% Typecheck all option values.
119+
% Typecheck option values.
120+
dict_select(format, Options1, Options2, Format),
117121
call_must_be(gv_format, Format),
122+
dict_select(method, Options2, Options3, Method),
118123
call_must_be(gv_method, Method),
119124
gv_format_type(Format, Type).
120125

0 commit comments

Comments
 (0)