diff options
author | Norbert Preining <preining@logic.at> | 2017-11-14 01:55:52 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2017-11-14 01:55:52 +0000 |
commit | a8aab6a5879b5e2b6f0668647d1e90bdbff98cdb (patch) | |
tree | 78fc836c6766136b7f45bbf33d331916ebc68172 /Master/texmf-dist | |
parent | 30ec8ba376ce0f3583a35183357fdf318fc45608 (diff) |
TLPDB: factorize json code, tlmgr: json for option
git-svn-id: svn://tug.org/texlive/trunk@45791 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rwxr-xr-x | Master/texmf-dist/scripts/texlive/tlmgr.pl | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/Master/texmf-dist/scripts/texlive/tlmgr.pl b/Master/texmf-dist/scripts/texlive/tlmgr.pl index d49075b42e6..75fe0a2e5f2 100755 --- a/Master/texmf-dist/scripts/texlive/tlmgr.pl +++ b/Master/texmf-dist/scripts/texlive/tlmgr.pl @@ -4392,7 +4392,13 @@ sub action_option { $what = "show" unless defined($what); init_local_db(); my $ret = $F_OK; + my %json; if ($what =~ m/^show$/i) { + if ($opts{'json'}) { + my $json = $localtlpdb->options_as_json(); + print("$json\n"); + return($ret); + } for my $o (sort keys %{$localtlpdb->options}) { # ignore some things which are w32 specific next if ($o eq "desktop_integration" && !win32()); @@ -4414,6 +4420,11 @@ sub action_option { } } } elsif ($what =~ m/^showall$/i) { + if ($opts{'json'}) { + my $json = $localtlpdb->options_as_json(); + print("$json\n"); + return($ret); + } my %loc = %{$localtlpdb->options}; for my $o (sort keys %TLPDBOptions) { if ($::machinereadable) { @@ -7833,9 +7844,9 @@ from the local keyring. =over 4 -=item B<option [show]> +=item B<option [--json] [show]> -=item B<option showall> +=item B<option [--json] showall> =item B<option I<key> [I<value>]> @@ -7848,6 +7859,11 @@ parentheses. The second form is similar, but also shows options which can be defined but are not currently set to any value. +Both forms take an option C<--json> in which case the options are dumped +in JSON format. In addition, with C<--json> the two forms dump the same +data. For the format of JSON output see C<tlpkg/doc/JSON-formats.txt>, +format definition C<TLOPTIONS>. + In the third form, if I<value> is not given, the setting for I<key> is displayed. If I<value> is present, I<key> is set to I<value>. |