From 7b5c10900c6d64887e7cf383116766be4b18c6d0 Mon Sep 17 00:00:00 2001 From: mbertucci47 <61854785+mbertucci47@users.noreply.github.com> Date: Sun, 22 Dec 2024 05:00:54 -0600 Subject: [PATCH] add expl3 package interfaces (#3921) --- completion.qrc | 7 +++ completion/GS1.cwl | 11 +++- completion/etl.cwl | 56 ++++++++++++++++++ completion/fontspec.cwl | 50 +++++++++++++++- completion/gtl.cwl | 110 ++++++++++++++++++++++++++++++++++++ completion/jsonparse.cwl | 10 ++++ completion/keytheorems.cwl | 3 + completion/l3benchmark.cwl | 12 ++++ completion/l3draw.cwl | 86 ++++++++++++++++++++++++++++ completion/l3graphics.cwl | 15 +++++ completion/l3opacity.cwl | 6 ++ completion/lt3luabridge.cwl | 16 +++++- completion/pdfoverlay.cwl | 11 +++- completion/pgfmath-xfp.cwl | 8 ++- completion/rule-D.cwl | 5 ++ completion/tagpdf.cwl | 48 ++++++++++++++-- completion/unravel.cwl | 9 ++- 17 files changed, 450 insertions(+), 13 deletions(-) create mode 100644 completion/etl.cwl create mode 100644 completion/gtl.cwl create mode 100644 completion/l3benchmark.cwl create mode 100644 completion/l3draw.cwl create mode 100644 completion/l3graphics.cwl create mode 100644 completion/l3opacity.cwl create mode 100644 completion/rule-D.cwl diff --git a/completion.qrc b/completion.qrc index e45d0c494d..6067b39702 100644 --- a/completion.qrc +++ b/completion.qrc @@ -1441,6 +1441,7 @@ completion/etaremune.cwl completion/ETbb.cwl completion/etextools.cwl +completion/etl.cwl completion/etoc.cwl completion/etoolbox.cwl completion/etruscan.cwl @@ -1790,6 +1791,7 @@ completion/grundgesetze.cwl completion/grverb.cwl completion/GS1.cwl +completion/gtl.cwl completion/gtrcrd.cwl completion/gtrlib.largetrees.cwl completion/Gudea.cwl @@ -2063,7 +2065,11 @@ completion/kvmap.cwl completion/kvoptions.cwl completion/kvsetkeys.cwl +completion/l3benchmark.cwl +completion/l3draw.cwl +completion/l3graphics.cwl completion/l3keys2e.cwl +completion/l3opacity.cwl completion/l3sys-query.cwl completion/labels4easylist.cwl completion/labels.cwl @@ -3214,6 +3220,7 @@ completion/rubikrotation.cwl completion/rubiktwocube.cwl completion/ruby.cwl +completion/rule-D.cwl completion/rulerbox.cwl completion/runcode.cwl completion/runic.cwl diff --git a/completion/GS1.cwl b/completion/GS1.cwl index ded291ec9a..9ab7fbab66 100644 --- a/completion/GS1.cwl +++ b/completion/GS1.cwl @@ -1,5 +1,5 @@ # GS1 package -# Matthew Bertucci 11/18/2021 for v23 +# Matthew Bertucci 2024/12/21 for v23 #include:rule-D @@ -18,4 +18,11 @@ code=#EAN-8,EAN-13 scale=% scale_to_font#true,false add_control#true,false -#endkeyvals \ No newline at end of file +#endkeyvals + +# expl3 interface +\GS_cut_EAN_control_digit:N %<⟨seq var⟩%>#/%expl3 +\GS_set_code_digit_seq:Nn %<⟨seq var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\GS_set_EAN_control_digit:N %<⟨seq var⟩%>#/%expl3 +\GS_use_as_EAN_barcode:N %<⟨seq var⟩%>#/%expl3 +\int_set_to_EAN_control_digit:NN %<⟨integer⟩ ⟨seq var⟩%>#/%expl3 \ No newline at end of file diff --git a/completion/etl.cwl b/completion/etl.cwl new file mode 100644 index 0000000000..7613ec38ad --- /dev/null +++ b/completion/etl.cwl @@ -0,0 +1,56 @@ +# etl package +# Matthew Bertucci 2024/12/21 for v0.3 + +\etl_act:nnnnn {%<⟨normal⟩%>} {%<⟨space⟩%>} {%<⟨group⟩%>} {%<⟨status⟩%>} {%<⟨tokens⟩%>}#/%expl3 +\etl_act:nnnnnn {%<⟨normal⟩%>} {%<⟨space⟩%>} {%<⟨group⟩%>} {%<⟨final⟩%>} {%<⟨status⟩%>} {%<⟨tokens⟩%>}#/%expl3 +\etl_act:nnnnnnn {%<⟨normal⟩%>} {%<⟨space⟩%>} {%<⟨group⟩%>} {%<⟨final⟩%>} {%<⟨status⟩%>} {%<⟨output⟩%>} {%<⟨tokens⟩%>}#/%expl3 +\etl_act_apply_to_rest:n {%<⟨code⟩%>}#/%expl3 +\etl_act_break:#/%expl3 +\etl_act_break:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_break_discard:#/%expl3 +\etl_act_break_post:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_break_pre:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_do_final:#/%expl3 +\etl_act_output:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_output_pre:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_output_rest:#/%expl3 +\etl_act_output_rest_pre:#/%expl3 +\etl_act_put_back:n {%<⟨tokens⟩%>}#/%expl3 +\etl_act_status:n {%<⟨status⟩%>}#/%expl3 +\etl_act_switch:nnn {%<⟨normal⟩%>} {%<⟨space⟩%>} {%<⟨group⟩%>}#/%expl3 +\etl_act_switch_group:n {%<⟨group⟩%>}#/%expl3 +\etl_act_switch_normal:n {%<⟨normal⟩%>}#/%expl3 +\etl_act_switch_space:n {%<⟨space⟩%>}#/%expl3 +\etl_if_eq:nnF {%<⟨tokens1⟩%>} {%<⟨tokens2⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_eq:nnT {%<⟨tokens1⟩%>} {%<⟨tokens2⟩%>} {%<⟨true code⟩%>}#/%expl3 +\etl_if_eq:nnTF {%<⟨tokens1⟩%>} {%<⟨tokens2⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_eq_p:nn {%<⟨tokens1⟩%>} {%<⟨tokens2⟩%>}#/%expl3 +\etl_if_in:nnF {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_in:nnT {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨true code⟩%>}#/%expl3 +\etl_if_in:nnTF {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_in_deep:nnF {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_in_deep:nnT {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨true code⟩%>}#/%expl3 +\etl_if_in_deep:nnTF {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_if_in_deep_p:nn {%<⟨tokens⟩%>} {%<⟨search text⟩%>}#/%expl3 +\etl_if_in_p:nn {%<⟨tokens⟩%>} {%<⟨search text⟩%>}#/%expl3 +\etl_new_if_in:Nnn %<⟨function⟩%> {%<⟨search text⟩%>} {%<⟨conditions⟩%>}#/%expl3 +\etl_new_replace_all:Nn %<⟨function⟩%> {%<⟨search text⟩%>}#/%expl3 +\etl_new_replace_once:Nn %<⟨function⟩%> {%<⟨search text⟩%>}#/%expl3 +\etl_replace_all:nnn {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨replacement⟩%>}#/%expl3 +\etl_replace_all_deep:nnn {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨replacement⟩%>}#/%expl3 +\etl_replace_once:nnn {%<⟨tokens⟩%>} {%<⟨search text⟩%>} {%<⟨replacement⟩%>}#/%expl3 +\etl_token_if_eq:NNF %<⟨token1⟩ ⟨token2⟩%> {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_eq:NNT %<⟨token1⟩ ⟨token2⟩%> {%<⟨true code⟩%>}#/%expl3 +\etl_token_if_eq:NNTF %<⟨token1⟩ ⟨token2⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_eq_p:NN %<⟨token1⟩ ⟨token2⟩%>#/%expl3 +\etl_token_if_in:nNF {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_in:nNT {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨true code⟩%>}#/%expl3 +\etl_token_if_in:nNTF {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_in_deep:nNF {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_in_deep:nNT {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨true code⟩%>}#/%expl3 +\etl_token_if_in_deep:nNTF {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\etl_token_if_in_deep_p:nN {%<⟨tokens⟩%>} %<⟨token⟩%>#/%expl3 +\etl_token_if_in_p:nN {%<⟨tokens⟩%>} %<⟨token⟩%>#/%expl3 +\etl_token_replace_all:nNn {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨replacement⟩%>}#/%expl3 +\etl_token_replace_all_deep:nNn {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨replacement⟩%>}#/%expl3 +\etl_token_replace_once:nNn {%<⟨tokens⟩%>} %<⟨token⟩%> {%<⟨replacement⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/fontspec.cwl b/completion/fontspec.cwl index 3e85509179..ff5ae417b2 100644 --- a/completion/fontspec.cwl +++ b/completion/fontspec.cwl @@ -1,7 +1,7 @@ # fontspec package # nja/17 July 2007 for fontspec v1.14 # muzimuzhi/30 Aug 2019 for fontspec v2.7c -# Matthew Bertucci 27 Apr 2024 for v2.9b +# Matthew Bertucci 21 Dec 2024 for v2.9e # url: http://www.ctan.org/tex-archive/help/Catalogue/entries/fontspec.html #keyvals:\usepackage/fontspec#c @@ -248,3 +248,51 @@ Renderer=% \Hwithstroke#*n \hwithstroke#*n \k{arg}#n + +# expl3 interface +\fontspec_font_if_exist:nF {%<⟨font name⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_font_if_exist:nT {%<⟨font name⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_font_if_exist:nTF {%<⟨font name⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_gset_family:Nnn %<⟨family⟩%> {%<⟨features⟩%>} {%<⟨font name⟩%>}#/%expl3 +\fontspec_gset_fontface:NNnn %<⟨face⟩%> %<⟨family⟩%> {%<⟨features⟩%>} {%<⟨font name⟩%>}#/%expl3 +\fontspec_if_aat_feature:nnF {%<⟨feature⟩%>} {%<⟨option⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_aat_feature:nnT {%<⟨feature⟩%>} {%<⟨option⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_aat_feature:nnTF {%<⟨feature⟩%>} {%<⟨option⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_feature:nF {%<⟨feature tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_feature:nT {%<⟨feature tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_current_feature:nTF {%<⟨feature tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_language:nF {%<⟨lang tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_language:nT {%<⟨lang tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_current_language:nTF {%<⟨lang tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_script:nF {%<⟨script tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_current_script:nT {%<⟨script tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_current_script:nTF {%<⟨script tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_feature:nF {%<⟨feature tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_feature:nnnF {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨feature tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_feature:nnnT {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨feature tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_feature:nnnTF {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨feature tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_feature:nT {%<⟨feature tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_feature:nTF {%<⟨feature tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_fontspec_font:F {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_fontspec_font:T {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_fontspec_font:TF {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_language:nF {%<⟨lang tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_language:nnF {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_language:nnT {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_language:nnTF {%<⟨script tag⟩%>} {%<⟨lang tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_language:nT {%<⟨lang tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_language:nTF {%<⟨lang tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_opentype:F {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_opentype:T {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_opentype:TF {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_script:nF {%<⟨script tag⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_script:nT {%<⟨script tag⟩%>} {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_script:nTF {%<⟨script tag⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_small_caps:F {%<⟨false code⟩%>}#/%expl3 +\fontspec_if_small_caps:T {%<⟨true code⟩%>}#/%expl3 +\fontspec_if_small_caps:TF {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\fontspec_set_family:Nnn %<⟨family⟩%> {%<⟨features⟩%>} {%<⟨font name⟩%>}#/%expl3 +\fontspec_set_fontface:NNnn %<⟨face⟩%> %<⟨family⟩%> {%<⟨features⟩%>} {%<⟨font name⟩%>}#/%expl3 +\g_fontspec_encoding_tl#/%expl3 +\l_fontspec_family_tl#/%expl3 +\l_fontspec_font#/%expl3 \ No newline at end of file diff --git a/completion/gtl.cwl b/completion/gtl.cwl new file mode 100644 index 0000000000..b2d2f682b9 --- /dev/null +++ b/completion/gtl.cwl @@ -0,0 +1,110 @@ +# gtl package +# Matthew Bertucci 2024/12/21 for v0.6 + +\c_empty_gtl#/%expl3 +\c_group_begin_gtl#/%expl3 +\c_group_end_gtl#/%expl3 +\gtl_clear:N %<⟨gtl var⟩%>#/%expl3 +\gtl_clear_new:N %<⟨gtl var⟩%>#/%expl3 +\gtl_concat:NNN %<⟨gtl var1⟩ ⟨gtl var2⟩ ⟨gtl var3⟩%>#/%expl3 +\gtl_const:Ne %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_const:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_const:Nx %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_count_tokens:N %<⟨gtl var⟩%>#/%expl3 +\gtl_extra_begin:N %<⟨gtl var⟩%>#/%expl3 +\gtl_extra_end:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gclear:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gclear_new:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gconcat:NNN %<⟨gtl var1⟩ ⟨gtl var2⟩ ⟨gtl var3⟩%>#/%expl3 +\gtl_get_left:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_gpop_left:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gpop_left:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_gpop_left_item:NNF %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_gpop_left_item:NNT %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_gpop_left_item:NNTF %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_gpop_left_text:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gpop_left_tl:N %<⟨gtl var⟩%>#/%expl3 +\gtl_gput_left:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_gput_right:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_gset:Ne %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_gset:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_gset:Nx %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_gset_eq:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_head:N %<⟨gtl var⟩%>#/%expl3 +\gtl_head_do:NN %<⟨gtl var⟩ ⟨function⟩%>#/%expl3 +\gtl_head_do:NNF %<⟨gtl var⟩ ⟨function⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_head_do:NNT %<⟨gtl var⟩ ⟨function⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_head_do:NNTF %<⟨gtl var⟩ ⟨function⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_blank:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_blank:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_blank:NTF %<⟨gtl var⟩%>#/%expl3 +\gtl_if_blank_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_empty:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_empty:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_empty:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_empty_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_eq:NNF %<⟨gtl var1⟩ ⟨gtl var2⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_eq:NNT %<⟨gtl var1⟩ ⟨gtl var2⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_eq:NNTF %<⟨gtl var1⟩ ⟨gtl var2⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_eq_p:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_if_exist:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_exist:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_exist:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_exist_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_head_eq_catcode:NNF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_catcode:NNT %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_eq_catcode:NNTF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_catcode_p:NN %<⟨gtl var1⟩ ⟨token⟩%>#/%expl3 +\gtl_if_head_eq_charcode:NNF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_charcode:NNT %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_eq_charcode:NNTF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_charcode_p:NN %<⟨gtl var1⟩ ⟨token⟩%>#/%expl3 +\gtl_if_head_eq_meaning:NNF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_meaning:NNT %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_eq_meaning:NNTF %<⟨gtl var1⟩ ⟨token⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_eq_meaning_p:NN %<⟨gtl var1⟩ ⟨token⟩%>#/%expl3 +\gtl_if_head_is_group_begin:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_group_begin:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_is_group_begin:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_group_begin_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_head_is_group_end:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_group_end:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_is_group_end:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_group_end_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_head_is_N_type:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_N_type:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_is_N_type:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_N_type_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_head_is_space:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_space:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_head_is_space:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_head_is_space_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_single_token:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_single_token:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_single_token:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_single_token_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_if_tl:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_if_tl:NT %<⟨gtl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_if_tl:NTF %<⟨gtl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_if_tl_p:N %<⟨gtl var⟩%>#/%expl3 +\gtl_left_item:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_left_text:NF %<⟨gtl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_left_tl:N %<⟨gtl var⟩%>#/%expl3 +\gtl_log:N %<⟨gtl var⟩%>#/%expl3 +\gtl_new:N %<⟨gtl var⟩%>#/%expl3 +\gtl_pop_left:N %<⟨gtl var⟩%>#/%expl3 +\gtl_pop_left:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_pop_left_item:NNF %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\gtl_pop_left_item:NNT %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\gtl_pop_left_item:NNTF %<⟨gtl var⟩ ⟨tl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\gtl_pop_left_text:N %<⟨gtl var⟩%>#/%expl3 +\gtl_pop_left_tl:N %<⟨gtl var⟩%>#/%expl3 +\gtl_put_left:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_put_right:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_set:Ne %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_set:Nn %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_set:Nx %<⟨gtl var⟩%> {%<⟨tokens⟩%>}#/%expl3 +\gtl_set_eq:NN %<⟨gtl var1⟩ ⟨gtl var2⟩%>#/%expl3 +\gtl_show:N %<⟨gtl var⟩%>#/%expl3 +\gtl_to_str:N %<⟨gtl var⟩%>#/%expl3 +\gtl_to_str:n {%<⟨tokens⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/jsonparse.cwl b/completion/jsonparse.cwl index 750cacfdc6..9f0fc21298 100644 --- a/completion/jsonparse.cwl +++ b/completion/jsonparse.cwl @@ -64,3 +64,13 @@ check num#true,false escape={%} rescan#true,false #endkeyvals + +# expl3 interface +\jsonparse_array_count:NN %<⟨tl var⟩ ⟨integer⟩%>#/%expl3 +\jsonparse_filter:Nn %<⟨tl var⟩%> {%<⟨key⟩%>}#/%expl3 +\jsonparse_if_num:nF {%<⟨false code⟩%>} {%<⟨string⟩%>}#/%expl3 +\jsonparse_if_num:nT {%<⟨true code⟩%>} {%<⟨string⟩%>}#/%expl3 +\jsonparse_if_num:nTF {%<⟨true code⟩%>} {%<⟨false code⟩%>} {%<⟨string⟩%>}#/%expl3 +\jsonparse_if_num_p:n {%<⟨string⟩%>}#/%expl3 +\jsonparse_parse:n {%<⟨JSON string⟩%>}#/%expl3 +\jsonparse_parse_to_prop:Nn %<⟨tl var⟩%> {%<⟨JSON string⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/keytheorems.cwl b/completion/keytheorems.cwl index f45418090e..802ec9cf33 100644 --- a/completion/keytheorems.cwl +++ b/completion/keytheorems.cwl @@ -172,3 +172,6 @@ format-code=% \Autoref{label}#r \Autoref*{label}#r + +# expl3 interface +\l_keythms_thmuse_envname_tl#/%expl3 \ No newline at end of file diff --git a/completion/l3benchmark.cwl b/completion/l3benchmark.cwl new file mode 100644 index 0000000000..1242d58da8 --- /dev/null +++ b/completion/l3benchmark.cwl @@ -0,0 +1,12 @@ +# l3benchmark package +# Matthew Bertucci 2024/12/21 + +\benchmark:n {%<⟨code⟩%>}#/%expl3 +\benchmark_once:n {%<⟨code⟩%>}#/%expl3 +\benchmark_once_silent:n {%<⟨code⟩%>}#/%expl3 +\benchmark_silent:n {%<⟨code⟩%>}#/%expl3 +\benchmark_tic:#/%expl3 +\benchmark_toc:#/%expl3 +\g_benchmark_duration_target_fp#/%expl3 +\g_benchmark_ops_fp#/%expl3 +\g_benchmark_time_fp#/%expl3 \ No newline at end of file diff --git a/completion/l3draw.cwl b/completion/l3draw.cwl new file mode 100644 index 0000000000..48558e6935 --- /dev/null +++ b/completion/l3draw.cwl @@ -0,0 +1,86 @@ +# l3draw package +# Matthew Bertucci 2024/12/21 + +\draw_baseline:n {%<⟨length⟩%>}#/%expl3 +\draw_begin:#/%expl3 +\draw_box_use:N %<⟨box⟩%>#/%expl3 +\draw_box_use:Nn %<⟨box⟩%> {%<⟨point⟩%>}#/%expl3 +\draw_cap_butt:#/%expl3 +\draw_cap_rectangle:#/%expl3 +\draw_cap_round:#/%expl3 +\draw_coffin_use:Nnn %<⟨coffin⟩%> {%<⟨hpole⟩%>} {%<⟨vpole⟩%>}#/%expl3 +\draw_coffin_use:Nnnn %<⟨coffin⟩%> {%<⟨hpole⟩%>} {%<⟨vpole⟩%>} {%<⟨point⟩%>}#/%expl3 +\draw_dash_pattern:nn {%<⟨pattern⟩%>} {%<⟨phase⟩%>}#/%expl3 +\draw_end:#/%expl3 +\draw_evenodd_rule:#/%expl3 +\draw_join_bevel:#/%expl3 +\draw_join_miter:#/%expl3 +\draw_join_round:#/%expl3 +\draw_layer_begin:n {%<⟨layer⟩%>}#/%expl3 +\draw_layer_end:#/%expl3 +\draw_layer_new:n {%<⟨layer⟩%>}#/%expl3 +\draw_linewidth:n {%<⟨width⟩%>}#/%expl3 +\draw_miterlimit:n {%<⟨factor⟩%>}#/%expl3 +\draw_nonzero_rule:#/%expl3 +\draw_path_arc:nnn {%<⟨angle1⟩%>} {%<⟨angle2⟩%>} {%<⟨radius⟩%>}#/%expl3 +\draw_path_arc:nnnn {%<⟨angle1⟩%>} {%<⟨angle2⟩%>} {%<⟨radius-a⟩%>} {%<⟨radius-b⟩%>}#/%expl3 +\draw_path_arc_axes:nnn {%<⟨angle1⟩%>} {%<⟨angle2⟩%>} {%<⟨vector1⟩%>} {%<⟨vector2⟩%>}#/%expl3 +\draw_path_canvas_curveto:nnn {%<⟨control1⟩%>} {%<⟨control2⟩%>} {%<⟨end⟩%>}#/%expl3 +\draw_path_canvas_lineto:n {%<⟨canvas point⟩%>}#/%expl3 +\draw_path_canvas_moveto:n {%<⟨canvas point⟩%>}#/%expl3 +\draw_path_circle:nn {%<⟨center⟩%>} {%<⟨radius⟩%>}#/%expl3 +\draw_path_close:#/%expl3 +\draw_path_corner_arc:nn {%<⟨length1⟩%>} {%<⟨length2⟩%>}#/%expl3 +\draw_path_curveto:nn {%<⟨control⟩%>} {%<⟨end⟩%>}#/%expl3 +\draw_path_curveto:nnn {%<⟨control1⟩%>} {%<⟨control2⟩%>} {%<⟨end⟩%>}#/%expl3 +\draw_path_ellipse:nnn {%<⟨center⟩%>} {%<⟨vector1⟩%>} {%<⟨vector2⟩%>}#/%expl3 +\draw_path_grid:nnnn {%<⟨xstep⟩%>} {%<⟨ystep⟩%>} {%<⟨lower-left⟩%>} {%<⟨upper-right⟩%>}#/%expl3 +\draw_path_lineto:n {%<⟨point⟩%>}#/%expl3 +\draw_path_moveto:n {%<⟨point⟩%>}#/%expl3 +\draw_path_rectangle:nn {%<⟨lower-left⟩%>} {%<⟨displacement⟩%>}#/%expl3 +\draw_path_rectangle_corners:nn {%<⟨lower-left⟩%>} {%<⟨top-right⟩%>}#/%expl3 +\draw_path_replace_bb:#/%expl3 +\draw_path_scope_begin:#/%expl3 +\draw_path_scope_end:#/%expl3 +\draw_path_use:n {%<⟨action(s)⟩%>}#/%expl3 +\draw_point_interpolate_curve:nnnnnn {%<⟨part⟩%>} {%<⟨start⟩%>} {%<⟨control1⟩%>} {%<⟨control2⟩%>} {%<⟨end⟩%>}#/%expl3 +\draw_point_interpolate_distance:nnn {%<⟨distance⟩%>} {%<⟨point expr1⟩%>} {%<⟨point expr2⟩%>}#/%expl3 +\draw_point_interpolate_line:nnn {%<⟨part⟩%>} {%<⟨point1⟩%>} {%<⟨point2⟩%>}#/%expl3 +\draw_point_intersect_circles:nnnnn {%<⟨center1⟩%>} {%<⟨radius1⟩%>} {%<⟨center2⟩%>} {%<⟨radius2⟩%>} {%<⟨root⟩%>}#/%expl3 +\draw_point_intersect_line_circle:nnnnn {%<⟨point1⟩%>} {%<⟨point2⟩%>} {%<⟨center⟩%>} {%<⟨radius⟩%>} {%<⟨root⟩%>}#/%expl3 +\draw_point_intersect_lines:nnnn {%<⟨point1⟩%>} {%<⟨point2⟩%>} {%<⟨point3⟩%>} {%<⟨point4⟩%>}#/%expl3 +\draw_point_polar:nn {%<⟨radius⟩%>} {%<⟨angle⟩%>}#/%expl3 +\draw_point_polar:nnn {%<⟨radius-a⟩%>} {%<⟨radius-b⟩%>} {%<⟨angle⟩%>}#/%expl3 +\draw_point_transform:n {%<⟨point⟩%>}#/%expl3 +\draw_point_unit_vector:n {%<⟨point⟩%>}#/%expl3 +\draw_point_vec:nn {%<⟨xscale⟩%>} {%<⟨yscale⟩%>}#/%expl3 +\draw_point_vec:nnn {%<⟨xscale⟩%>} {%<⟨yscale⟩%>} {%<⟨zscale⟩%>}#/%expl3 +\draw_point_vec_polar:nn {%<⟨radius⟩%>} {%<⟨angle⟩%>}#/%expl3 +\draw_point_vec_polar:nnn {%<⟨radius-a⟩%>} {%<⟨radius-b⟩%>} {%<⟨angle⟩%>}#/%expl3 +\draw_scope_begin:#/%expl3 +\draw_scope_end:#/%expl3 +\draw_suspend_begin:#/%expl3 +\draw_suspend_end:#/%expl3 +\draw_transform_matrix:nnnn {%<⟨a⟩%>} {%<⟨b⟩%>} {%<⟨c⟩%>} {%<⟨d⟩%>}#/%expl3 +\draw_transform_matrix_absolute:nnnn {%<⟨a⟩%>} {%<⟨b⟩%>} {%<⟨c⟩%>} {%<⟨d⟩%>}#/%expl3 +\draw_transform_matrix_invert:#/%expl3 +\draw_transform_matrix_reset:#/%expl3 +\draw_transform_rotate:n {%<⟨angle⟩%>}#/%expl3 +\draw_transform_scale:n {%<⟨scale⟩%>}#/%expl3 +\draw_transform_shift:n {%<⟨vector⟩%>}#/%expl3 +\draw_transform_shift_absolute:n {%<⟨vector⟩%>}#/%expl3 +\draw_transform_shift_invert:#/%expl3 +\draw_transform_shift_reset:#/%expl3 +\draw_transform_triangle:nnn {%<⟨origin⟩%>} {%<⟨point1⟩%>} {%<⟨point2⟩%>}#/%expl3 +\draw_transform_xscale:n {%<⟨scale⟩%>}#/%expl3 +\draw_transform_xshift:n {%<⟨shift⟩%>}#/%expl3 +\draw_transform_xslant:n {%<⟨slant⟩%>}#/%expl3 +\draw_transform_yscale:n {%<⟨scale⟩%>}#/%expl3 +\draw_transform_yshift:n {%<⟨shift⟩%>}#/%expl3 +\draw_transform_yslant:n {%<⟨slant⟩%>}#/%expl3 +\draw_xvec:n {%<⟨point⟩%>}#/%expl3 +\draw_yvec:n {%<⟨point⟩%>}#/%expl3 +\draw_zvec:n {%<⟨point⟩%>}#/%expl3 +\l_draw_bb_update_bool#/%expl3 +\l_draw_default_linewidth_dim#/%expl3 +\l_draw_layers_clist#/%expl3 \ No newline at end of file diff --git a/completion/l3graphics.cwl b/completion/l3graphics.cwl new file mode 100644 index 0000000000..ce3b7a29d3 --- /dev/null +++ b/completion/l3graphics.cwl @@ -0,0 +1,15 @@ +# l3graphics package +# Matthew Bertucci 2024/12/21 + +\graphics_get_full_name:nN {%<⟨file⟩%>} %<⟨tl var⟩%>#/%expl3 +\graphics_get_full_name:nNF {%<⟨file⟩%>} %<⟨tl var⟩%> {%<⟨false code⟩%>}#/%expl3 +\graphics_get_full_name:nNT {%<⟨file⟩%>} %<⟨tl var⟩%> {%<⟨true code⟩%>}#/%expl3 +\graphics_get_full_name:nNTF {%<⟨file⟩%>} %<⟨tl var⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\graphics_get_pagecount:nn {%<⟨file⟩%>} %<⟨tl var⟩%>#/%expl3 +\graphics_include:nn {%<⟨keys⟩%>} {%<⟨file⟩%>}#/%expl3 +\graphics_include:nV {%<⟨keys⟩%>} %<⟨tl var⟩%>#/%expl3 +\graphics_log_list:#/%expl3 +\graphics_show_list:#/%expl3 +\l_graphics_ext_type_prop#/%expl3 +\l_graphics_search_ext_seq#/%expl3 +\l_graphics_search_path_seq#/%expl3 \ No newline at end of file diff --git a/completion/l3opacity.cwl b/completion/l3opacity.cwl new file mode 100644 index 0000000000..5e3e0e6973 --- /dev/null +++ b/completion/l3opacity.cwl @@ -0,0 +1,6 @@ +# l3opacity package +# Matthew Bertucci 2024/12/21 + +\opacity_select:n {%<⟨expression⟩%>}#/%expl3 +\opacity_fill:n {%<⟨expression⟩%>}#/%expl3 +\opacity_stroke:n {%<⟨expression⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/lt3luabridge.cwl b/completion/lt3luabridge.cwl index ad62bdcfbd..597a539c54 100644 --- a/completion/lt3luabridge.cwl +++ b/completion/lt3luabridge.cwl @@ -1,6 +1,20 @@ # lt3luabridge package -# Matthew Bertucci 2022/06/29 for v1.0.1 +# Matthew Bertucci 2024/12/21 for v2.2.1 #include:luatex \luabridgeExecute{lua code%definition} + +# expl3 interface +\c_luabridge_default_error_output_filename_str#/%expl3 +\c_luabridge_default_helper_script_filename_str#/%expl3 +\c_luabridge_default_output_dirname_str#/%expl3 +\c_luabridge_method_directlua_int#/%expl3 +\c_luabridge_method_shell_int#/%expl3 +\g_luabridge_error_output_filename_str#/%expl3 +\g_luabridge_helper_script_filename_str#/%expl3 +\g_luabridge_method_int#/%expl3 +\g_luabridge_output_dirname_str#/%expl3 +\luabridge_now:e {%<⟨tokens⟩%>}#/%expl3 +\luabridge_now:n {%<⟨tokens⟩%>}#/%expl3 +\luabridge_tl_set:Nn %<⟨tl var%> {%<⟨tokens⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/pdfoverlay.cwl b/completion/pdfoverlay.cwl index 7e6bf50231..d59e0aa05c 100644 --- a/completion/pdfoverlay.cwl +++ b/completion/pdfoverlay.cwl @@ -1,5 +1,5 @@ # pdfoverlay package -# Matthew Bertucci 11/3/2021 for v1.2b +# Matthew Bertucci 2024/12/21 for v1.3 #include:graphicx @@ -44,3 +44,12 @@ decodearray={%} \pdfoverlaySkipToPage{page number} \pdfoverlayPauseOutput \pdfoverlayResumeOutput + +# expl3 interface +\pdfoverlay_include_to_last_page:#/%expl3 +\pdfoverlay_include_to_page:n {%<⟨page number⟩%>}#/%expl3 +\pdfoverlay_pause_output:#/%expl3 +\pdfoverlay_resume_output:#/%expl3 +\pdfoverlay_set_graphics_options:n {%<⟨options⟩%>}#/%expl3 +\pdfoverlay_set_pdf:n {%<⟨pdf file⟩%>}#/%expl3 +\pdfoverlay_skip_to_page:n {%<⟨page number⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/pgfmath-xfp.cwl b/completion/pgfmath-xfp.cwl index 2f4162b915..bf55e8066a 100644 --- a/completion/pgfmath-xfp.cwl +++ b/completion/pgfmath-xfp.cwl @@ -1,5 +1,5 @@ # pgfmath-xfp package -# Matthew Bertucci 11/2/2021 for v1.0 +# Matthew Bertucci 2024/12/21 for v1.0 #include:pgfmath @@ -7,4 +7,8 @@ \pgfmxfpdeclarefunction{name}{args}[process-args]{fp expression} \pgfmxfpDate#S -\pgfmxfpVersion#S \ No newline at end of file +\pgfmxfpVersion#S + +# expl3 interface +\pgfmxfp_declare:nnn {%<⟨name⟩%>} {%<⟨arg count⟩%>} {%<⟨fp expr⟩%>}#/%expl3 +\pgfmxfp_declare_processed_args:nnnn {%<⟨name⟩%>} {%<⟨arg count⟩%>} {%<⟨processed args⟩%>} {%<⟨fp expr⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/rule-D.cwl b/completion/rule-D.cwl new file mode 100644 index 0000000000..387aa3ae72 --- /dev/null +++ b/completion/rule-D.cwl @@ -0,0 +1,5 @@ +# rule-D package +# Matthew Bertucci 2024/12/21 for v23 + +\rule:nnn {%<⟨raise⟩%>} {%<⟨width⟩%>} {%<⟨height⟩%>}#/%expl3 +\rule:nn {%<⟨width⟩%>} {%<⟨height⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/tagpdf.cwl b/completion/tagpdf.cwl index c5b97e58b7..27cdae3e0a 100644 --- a/completion/tagpdf.cwl +++ b/completion/tagpdf.cwl @@ -1,5 +1,5 @@ # tagpdf package -# Matthew Bertucci 2024/09/18 for v0.99f +# Matthew Bertucci 2024/12/21 for v0.99k #include:pdfmanagement-testphase @@ -100,9 +100,6 @@ E=% \tagstructend \tagstructuse{label} -\tagstop -\tagstart - \ShowTagging{keyvals} #keyvals:\ShowTagging @@ -114,3 +111,46 @@ debug/structures # not documented \tagpdfsuppressmarks{arg}#* + +# expl3 interface +\tag_check_child:nnF {%<⟨tag⟩%>} {%<⟨namespace⟩%>} {%<⟨false code⟩%>}#/%expl3 +\tag_check_child:nnT {%<⟨tag⟩%>} {%<⟨namespace⟩%>} {%<⟨true code⟩%>}#/%expl3 +\tag_check_child:nnTF {%<⟨tag⟩%>} {%<⟨namespace⟩%>} {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\tag_get:n {%<⟨keyword⟩%>}#/%expl3 +\tag_if_active:F {%<⟨false code⟩%>}#/%expl3 +\tag_if_active:T {%<⟨true code⟩%>}#/%expl3 +\tag_if_active:TF {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\tag_if_active_p:#/%expl3 +\tag_if_box_tagged:N %<⟨box⟩%>#/%expl3 +\tag_if_box_tagged:NF %<⟨box⟩%> {%<⟨false code⟩%>}#/%expl3 +\tag_if_box_tagged:NT %<⟨box⟩%> {%<⟨true code⟩%>}#/%expl3 +\tag_if_box_tagged:NTF %<⟨box⟩%> {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\tag_if_box_tagged_p:N %<⟨box⟩%>#/%expl3 +\tag_mc_add_missing_to_stream:Nn %<⟨box⟩%> {%<⟨stream name⟩%>}#/%expl3 +\tag_mc_artifact_group_begin:n {%<⟨name⟩%>}#/%expl3 +\tag_mc_artifact_group_end:#/%expl3 +\tag_mc_begin:n {%<⟨keyvals⟩%>}#/%expl3 +\tag_mc_begin_pop:n {%<⟨keyvals⟩%>}#/%expl3 +\tag_mc_end:#/%expl3 +\tag_mc_end_push:#/%expl3 +\tag_mc_if_in:F {%<⟨false code⟩%>}#/%expl3 +\tag_mc_if_in:T {%<⟨true code⟩%>}#/%expl3 +\tag_mc_if_in:TF {%<⟨true code⟩%>} {%<⟨false code⟩%>}#/%expl3 +\tag_mc_if_in_p:#/%expl3 +\tag_mc_new_stream:n {%<⟨stream name⟩%>}#/%expl3 +\tag_mc_reset_box:N %<⟨box⟩%>#/%expl3 +\tag_mc_use:n {%<⟨label⟩%>}#/%expl3 +\tag_spacechar_off:#/%expl3 +\tag_spacechar_on:#/%expl3 +\tag_struct_begin:n {%<⟨keyvals⟩%>}#/%expl3 +\tag_struct_end:#/%expl3 +\tag_struct_end:n {%<⟨tag⟩%>}#/%expl3 +\tag_struct_gput:nnn {%<⟨struct number⟩%>} {%<⟨keyword⟩%>} {%<⟨value⟩%>}#/%expl3 +\tag_struct_gput_ref:nnn {%<⟨struct number⟩%>} {%<⟨keyword⟩%>} {%<⟨value⟩%>}#/%expl3 +\tag_struct_insert_annot:nn {%<⟨object ref⟩%>}{%<⟨struct parent number⟩%>}#/%expl3 +\tag_struct_object_ref:e {%<⟨struct number⟩%>}#/%expl3 +\tag_struct_object_ref:n {%<⟨struct number⟩%>}#/%expl3 +\tag_struct_parent_int:#/%expl3 +\tag_struct_use:n {%<⟨label⟩%>}#/%expl3 +\tag_struct_use_num:n {%<⟨struct number⟩%>}#/%expl3 +\tag_tool:n {%<⟨keyval⟩%>}#/%expl3 \ No newline at end of file diff --git a/completion/unravel.cwl b/completion/unravel.cwl index 3c5bc63d21..0ee52a2df9 100644 --- a/completion/unravel.cwl +++ b/completion/unravel.cwl @@ -3,8 +3,8 @@ #include:gtl -\unravel{content} -\unravel[keyvals]{content} +\unravel{code} +\unravel[keyvals]{code} \unravelsetup{keyvals} #keyvals:\unravel,\unravelsetup @@ -23,3 +23,8 @@ trace-expansion#true,false trace-other#true,false welcome-message#true,false #endkeyvals + +# expl3 interface +\unravel:nn {%<⟨keyvals⟩%>} {%<⟨code⟩%>}#/%expl3 +\unravel_get:nnN {%<⟨keyvals⟩%>} {%<⟨code⟩%>} %<⟨tl var⟩%>#/%expl3 +\unravel_setup:n {%<⟨keyvals⟩%>}#/%expl3 \ No newline at end of file