diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tools/l3sys-query.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tools/l3sys-query.sty | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tools/l3sys-query.sty b/Master/texmf-dist/tex/latex/tools/l3sys-query.sty new file mode 100644 index 00000000000..792ef9c0416 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tools/l3sys-query.sty @@ -0,0 +1,124 @@ +%% +%% This is file `l3sys-query.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3sys-query.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs/ +%% (but please observe conditions on bug reports sent to that address!) +%% +%% Copyright (C) 1993-2024 +%% The LaTeX Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. +%% -------------------------------------------------------------------------- +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +%% Source File: l3sys-query.dtx +%% Copyright (C) 2024 +%% +%% The LaTeX Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file may be distributed under the terms of the LPPL. +%% See README for details. +\ProvidesPackage{l3sys-query} + [2024-03-28 v1.0a LaTeX2e interface for l3sys file queries] +\ExplSyntaxOn +\sys_if_shell:F{ + \PackageWarningNoLine{l3sys-query} + {Shell ~Escape ~is ~disabled.\MessageBreak All ~queries ~will ~return ~empty ~results} + } +\NewDocumentCommand\QueryWorkingDirectory {m} { + \sys_get_query:nN {pwd} #1 +} +\tl_new:N\l_query_percent_tl +\tl_new:N\l_query_tilde_tl +\NewDocumentCommand\QueryFiles {} { + \group_begin: + \char_set_catcode_other:N \% + \char_set_catcode_other:N \^ + \QueryFiles_inner + } +\char_set_catcode_active:N \~ +\NewDocumentCommand\QueryFiles_inner {O{}m}{ + \group_end: + \tl_set:Nn\l_tmpa_tl{} + \cs_set_eq:NN \l_query_percent_tl \% + \cs_set_eq:NN \% \c_percent_str + \cs_set_eq:NN \l_query_tilde_tl ~ + \cs_set_eq:NN ~ \c_tilde_str + \keys_set:nn{QueryFiles}{#1} + \exp_args:NnV\sys_split_query:nnnN {ls} \l_tmpa_tl {#2} \l_tmpa_seq + \cs_set_eq:NN \% \l_query_percent_tl + \cs_set_eq:NN ~ \l_query_tilde_tl + \seq_map_inline:Nn\l_tmpa_seq +} +\NewDocumentCommand\QueryFilesTF {} { + \group_begin: + \char_set_catcode_other:N \% + \QueryFilesTF_inner + } +\NewDocumentCommand\QueryFilesTF_inner {O{}m}{ + \group_end: + \tl_set:Nn\l_tmpa_tl{} + \cs_set_eq:NN \l_query_percent_tl \% + \cs_set_eq:NN \% \c_percent_str + \cs_set_eq:NN \l_query_tilde_tl ~ + \cs_set_eq:NN ~ \c_tilde_str + \keys_set:nn{QueryFiles}{#1} + \exp_args:NnV\sys_split_query:nnnN {ls} \l_tmpa_tl {#2} \l_tmpa_seq + \cs_set_eq:NN \% \l_query_percent_tl + \cs_set_eq:NN ~ \l_query_tilde_tl + \seq_if_empty:NTF \l_tmpa_seq \use_iii:nnn \__queryfiles_aux:nnn +} +\char_set_catcode_space:N \~ +\cs_new:Npn \__queryfiles_aux:nnn #1#2#3 { + #2 + \seq_map_inline:Nn\l_tmpa_seq {#1} + } +\keys_define:nn {QueryFiles} { +recursive .code:n =\tl_put_right:Nn \l_tmpa_tl {--recursive ~ } , +recursive .value_forbidden:n = true , +ignore-case .code:n =\tl_put_right:Nn \l_tmpa_tl {--ignore-case ~ } , +ignore-case .value_forbidden:n = true , +reverse .code:n =\tl_put_right:Nn \l_tmpa_tl {--reverse ~ } , +reverse .value_forbidden:n = true , +exclude .code:n =\tl_put_right:Ne \l_tmpa_tl { + --exclude ~ + \sys_if_shell_restricted:F' + \exp_not:n{#1} + \sys_if_shell_restricted:F' + ~ } , +exclude .value_required:n = true , +type .choices:nn = {d,f} + {\tl_put_right:Nn \l_tmpa_tl {--type ~ #1 ~ }} , +sort .choices:nn = {date,name} +{\tl_put_right:Nn \l_tmpa_tl {--sort ~ #1 ~ }} , +pattern .code:n =\tl_put_right:Nn \l_tmpa_tl {--pattern ~ } , +pattern .value_forbidden:n = true , +} +\ExplSyntaxOff +\endinput +%% +%% End of file `l3sys-query.sty'. |