diff --git a/complete/completion_oaf.sh b/complete/completion_oaf.sh
index 7640db488..0c98c1373 100644
--- a/complete/completion_oaf.sh
+++ b/complete/completion_oaf.sh
@@ -24,7 +24,7 @@ F__helpscript=1
if [ $# -gt 0 ]; then
FFOUND=0
for arg in "$@"; do
- if [ "$arg" = "${!#}" ]; then FFOUND=1; break; fi
+ if [ "$arg" = "" ]; then FFOUND=1; break; fi
# -e single option
if [ "$arg" = "-e" ]; then FFOUND=1; F__e=0; fi
# -c single option
diff --git a/complete/completion_oafp.sh b/complete/completion_oafp.sh
index 40e2ee6f1..b23c52842 100644
--- a/complete/completion_oafp.sh
+++ b/complete/completion_oafp.sh
@@ -352,153 +352,153 @@ F_val2icon_=1
if [ $# -gt 0 ]; then
FFOUND=0
for arg in "$@"; do
- if [ "$arg" = "${!#}" ]; then FFOUND=1; break; fi
+ if [ "$arg" = "" ]; then FFOUND=1; break; fi
# in= options
if [ "$arg" = "in=ask" ]; then FFOUND=1; F_in__in_ask=1; F_in_=0; fi
if [ "$arg" = "in=base64" ]; then FFOUND=1; F_in__in_base64=1; F_in_=0; fi
if [ "$arg" = "in=ch" ]; then FFOUND=1; F_in__in_ch=1; F_in_=0; fi
- if [ "${arg#inch}" != "$arg" ]; then FFOUND=1; F_in__in_ch_inch=0; fi
- if [ "${arg#inchall}" != "$arg" ]; then FFOUND=1; F_in__in_ch_inchall=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ch_inch=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ch_inchall=0; fi
if [ "$arg" = "in=csv" ]; then FFOUND=1; F_in__in_csv=1; F_in_=0; fi
- if [ "${arg#incsv=}" != "$arg" ]; then FFOUND=1; F_in__in_csv_incsv_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_csv_incsv_=0; fi
if [ "$arg" = "in=dsv" ]; then FFOUND=1; F_in__in_dsv=1; F_in_=0; fi
- if [ "${arg#indsvsep=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvsep_=0; fi
- if [ "${arg#indsvsepre=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvsepre_=0; fi
- if [ "${arg#indsvquote=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvquote_=0; fi
- if [ "${arg#indsvescape=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvescape_=0; fi
- if [ "${arg#indsvcomment=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvcomment_=0; fi
- if [ "${arg#indsvheader=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvheader_=0; fi
- if [ "${arg#indsvtrim=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvtrim_=0; fi
- if [ "${arg#indsvjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvjoin_=0; fi
- if [ "${arg#indsvfields=}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvfields_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvsep_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvsepre_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvquote_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvescape_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvcomment_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvheader_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvtrim_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_dsv_indsvfields_=0; fi
if [ "$arg" = "in=db" ]; then FFOUND=1; F_in__in_db=1; F_in_=0; fi
- if [ "${arg#indbjdbc=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbjdbc_=0; fi
- if [ "${arg#indbuser=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbuser_=0; fi
- if [ "${arg#indbpass=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbpass_=0; fi
- if [ "${arg#indbtimeout=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbtimeout_=0; fi
- if [ "${arg#indblib=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indblib_=0; fi
- if [ "${arg#indbstream=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbstream_=0; fi
- if [ "${arg#indbexec=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbexec_=0; fi
- if [ "${arg#indbautocommit=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbautocommit_=0; fi
- if [ "${arg#indbdesc=}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbdesc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbjdbc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbuser_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbpass_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbtimeout_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indblib_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbstream_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbexec_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbautocommit_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_db_indbdesc_=0; fi
if [ "$arg" = "in=gb64json" ]; then FFOUND=1; F_in__in_gb64json=1; F_in_=0; fi
if [ "$arg" = "in=hsperf" ]; then FFOUND=1; F_in__in_hsperf=1; F_in_=0; fi
if [ "$arg" = "in=ini" ]; then FFOUND=1; F_in__in_ini=1; F_in_=0; fi
if [ "$arg" = "in=javas" ]; then FFOUND=1; F_in__in_javas=1; F_in_=0; fi
- if [ "${arg#javasinception=}" != "$arg" ]; then FFOUND=1; F_in__in_javas_javasinception_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_javas_javasinception_=0; fi
if [ "$arg" = "in=javagc" ]; then FFOUND=1; F_in__in_javagc=1; F_in_=0; fi
- if [ "${arg#javagcjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_javagc_javagcjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_javagc_javagcjoin_=0; fi
if [ "$arg" = "in=javathread" ]; then FFOUND=1; F_in__in_javathread=1; F_in_=0; fi
- if [ "${arg#javathreadpid=}" != "$arg" ]; then FFOUND=1; F_in__in_javathread_javathreadpid_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_javathread_javathreadpid_=0; fi
if [ "$arg" = "in=jfr" ]; then FFOUND=1; F_in__in_jfr=1; F_in_=0; fi
- if [ "${arg#jfrjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_jfr_jfrjoin_=0; fi
- if [ "${arg#jfrdesc=}" != "$arg" ]; then FFOUND=1; F_in__in_jfr_jfrdesc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jfr_jfrjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jfr_jfrdesc_=0; fi
if [ "$arg" = "in=jmx" ]; then FFOUND=1; F_in__in_jmx=1; F_in_=0; fi
- if [ "${arg#jmxpid=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxpid_=0; fi
- if [ "${arg#jmxurl=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxurl_=0; fi
- if [ "${arg#jmxuser=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxuser_=0; fi
- if [ "${arg#jmxpass=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxpass_=0; fi
- if [ "${arg#jmxprovider=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxprovider_=0; fi
- if [ "${arg#jmxop=}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxop_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxpid_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxurl_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxuser_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxpass_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxprovider_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jmx_jmxop_=0; fi
if [ "$arg" = "in=json" ]; then FFOUND=1; F_in__in_json=1; F_in_=0; fi
- if [ "${arg#jsondesc=}" != "$arg" ]; then FFOUND=1; F_in__in_json_jsondesc_=0; fi
- if [ "${arg#jsonprefix=}" != "$arg" ]; then FFOUND=1; F_in__in_json_jsonprefix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_json_jsondesc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_json_jsonprefix_=0; fi
if [ "$arg" = "in=jsonschema" ]; then FFOUND=1; F_in__in_jsonschema=1; F_in_=0; fi
if [ "$arg" = "in=jwt" ]; then FFOUND=1; F_in__in_jwt=1; F_in_=0; fi
- if [ "${arg#injwtverify=}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtverify_=0; fi
- if [ "${arg#injwtsecret=}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtsecret_=0; fi
- if [ "${arg#injwtpubkey=}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtpubkey_=0; fi
- if [ "${arg#injwtalg=}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtalg_=0; fi
- if [ "${arg#injwtraw=}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtraw_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtverify_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtsecret_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtpubkey_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtalg_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_jwt_injwtraw_=0; fi
if [ "$arg" = "in=lines" ]; then FFOUND=1; F_in__in_lines=1; F_in_=0; fi
- if [ "${arg#linesjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesjoin_=0; fi
- if [ "${arg#linesvisual=}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisual_=0; fi
- if [ "${arg#linesvisualsepre=}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisualsepre_=0; fi
- if [ "${arg#linesvisualheadsep}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisualheadsep=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisual_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisualsepre_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_lines_linesvisualheadsep=0; fi
if [ "$arg" = "in=llm" ]; then FFOUND=1; F_in__in_llm=1; F_in_=0; fi
if [ "$arg" = "in=llmmodels" ]; then FFOUND=1; F_in__in_llmmodels=1; F_in_=0; fi
if [ "$arg" = "in=ls" ]; then FFOUND=1; F_in__in_ls=1; F_in_=0; fi
- if [ "${arg#lsext=}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsext_=0; fi
- if [ "${arg#lsrecursive=}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsrecursive_=0; fi
- if [ "${arg#lsposix=}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsposix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsext_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsrecursive_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ls_lsposix_=0; fi
if [ "$arg" = "in=md" ]; then FFOUND=1; F_in__in_md=1; F_in_=0; fi
if [ "$arg" = "in=mdtable" ]; then FFOUND=1; F_in__in_mdtable=1; F_in_=0; fi
- if [ "${arg#inmdtablejoin=}" != "$arg" ]; then FFOUND=1; F_in__in_mdtable_inmdtablejoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_mdtable_inmdtablejoin_=0; fi
if [ "$arg" = "in=mdcode" ]; then FFOUND=1; F_in__in_mdcode=1; F_in_=0; fi
if [ "$arg" = "in=mcp" ]; then FFOUND=1; F_in__in_mcp=1; F_in_=0; fi
- if [ "${arg#inmcptoolslist=}" != "$arg" ]; then FFOUND=1; F_in__in_mcp_inmcptoolslist_=0; fi
- if [ "${arg#inmcplistprompts=}" != "$arg" ]; then FFOUND=1; F_in__in_mcp_inmcplistprompts_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_mcp_inmcptoolslist_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_mcp_inmcplistprompts_=0; fi
if [ "$arg" = "in=minia" ]; then FFOUND=1; F_in__in_minia=1; F_in_=0; fi
- if [ "${arg#minianolog=}" != "$arg" ]; then FFOUND=1; F_in__in_minia_minianolog_=0; fi
- if [ "${arg#minialogfile=}" != "$arg" ]; then FFOUND=1; F_in__in_minia_minialogfile_=0; fi
- if [ "${arg#miniametrics=}" != "$arg" ]; then FFOUND=1; F_in__in_minia_miniametrics_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_minia_minianolog_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_minia_minialogfile_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_minia_miniametrics_=0; fi
if [ "$arg" = "in=ndjson" ]; then FFOUND=1; F_in__in_ndjson=1; F_in_=0; fi
- if [ "${arg#ndjsonjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_ndjson_ndjsonjoin_=0; fi
- if [ "${arg#ndjsonfilter=}" != "$arg" ]; then FFOUND=1; F_in__in_ndjson_ndjsonfilter_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ndjson_ndjsonjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ndjson_ndjsonfilter_=0; fi
if [ "$arg" = "in=ndslon" ]; then FFOUND=1; F_in__in_ndslon=1; F_in_=0; fi
- if [ "${arg#ndslonjoin=}" != "$arg" ]; then FFOUND=1; F_in__in_ndslon_ndslonjoin_=0; fi
- if [ "${arg#ndslonfilter=}" != "$arg" ]; then FFOUND=1; F_in__in_ndslon_ndslonfilter_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ndslon_ndslonjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_ndslon_ndslonfilter_=0; fi
if [ "$arg" = "in=oaf" ]; then FFOUND=1; F_in__in_oaf=1; F_in_=0; fi
if [ "$arg" = "in=oafp" ]; then FFOUND=1; F_in__in_oafp=1; F_in_=0; fi
- if [ "${arg#inoafpseq=}" != "$arg" ]; then FFOUND=1; F_in__in_oafp_inoafpseq_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_oafp_inoafpseq_=0; fi
if [ "$arg" = "in=ojob" ]; then FFOUND=1; F_in__in_ojob=1; F_in_=0; fi
if [ "$arg" = "in=openmetrics" ]; then FFOUND=1; F_in__in_openmetrics=1; F_in_=0; fi
if [ "$arg" = "in=raw" ]; then FFOUND=1; F_in__in_raw=1; F_in_=0; fi
if [ "$arg" = "in=rawhex" ]; then FFOUND=1; F_in__in_rawhex=1; F_in_=0; fi
- if [ "${arg#inrawhexline=}" != "$arg" ]; then FFOUND=1; F_in__in_rawhex_inrawhexline_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_rawhex_inrawhexline_=0; fi
if [ "$arg" = "in=sh" ]; then FFOUND=1; F_in__in_sh=1; F_in_=0; fi
- if [ "${arg#inshformat=}" != "$arg" ]; then FFOUND=1; F_in__in_sh_inshformat_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_sh_inshformat_=0; fi
if [ "$arg" = "in=slon" ]; then FFOUND=1; F_in__in_slon=1; F_in_=0; fi
if [ "$arg" = "in=sql" ]; then FFOUND=1; F_in__in_sql=1; F_in_=0; fi
- if [ "${arg#sqlparse=}" != "$arg" ]; then FFOUND=1; F_in__in_sql_sqlparse_=0; fi
- if [ "${arg#sqloptions=}" != "$arg" ]; then FFOUND=1; F_in__in_sql_sqloptions_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_sql_sqlparse_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_sql_sqloptions_=0; fi
if [ "$arg" = "in=snmp" ]; then FFOUND=1; F_in__in_snmp=1; F_in_=0; fi
- if [ "${arg#insnmp=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmp_=0; fi
- if [ "${arg#insnmpcommunity=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpcommunity_=0; fi
- if [ "${arg#insnmpversion=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpversion_=0; fi
- if [ "${arg#insnmptimeout=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmptimeout_=0; fi
- if [ "${arg#insnmpretries=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpretries_=0; fi
- if [ "${arg#insnmpsec=}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpsec_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmp_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpcommunity_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpversion_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmptimeout_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpretries_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_snmp_insnmpsec_=0; fi
if [ "$arg" = "in=toml" ]; then FFOUND=1; F_in__in_toml=1; F_in_=0; fi
if [ "$arg" = "in=toon" ]; then FFOUND=1; F_in__in_toon=1; F_in_=0; fi
if [ "$arg" = "in=xls" ]; then FFOUND=1; F_in__in_xls=1; F_in_=0; fi
- if [ "${arg#inxlssheet=}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlssheet_=0; fi
- if [ "${arg#inxlsevalformulas=}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsevalformulas_=0; fi
- if [ "${arg#inxlsdesc=}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsdesc_=0; fi
- if [ "${arg#inxlscol=}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlscol_=0; fi
- if [ "${arg#inxlsrow=}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsrow_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlssheet_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsevalformulas_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsdesc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlscol_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xls_inxlsrow_=0; fi
if [ "$arg" = "in=xml" ]; then FFOUND=1; F_in__in_xml=1; F_in_=0; fi
- if [ "${arg#xmlignored=}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlignored_=0; fi
- if [ "${arg#xmlprefix=}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlprefix_=0; fi
- if [ "${arg#xmlfiltertag=}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlfiltertag_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlignored_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlprefix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_in__in_xml_xmlfiltertag_=0; fi
if [ "$arg" = "in=yaml" ]; then FFOUND=1; F_in__in_yaml=1; F_in_=0; fi
# out= options
if [ "$arg" = "out=base64" ]; then FFOUND=1; F_out__out_base64=1; F_out_=0; fi
- if [ "${arg#base64gzip=}" != "$arg" ]; then FFOUND=1; F_out__out_base64_base64gzip_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_base64_base64gzip_=0; fi
if [ "$arg" = "out=ch" ]; then FFOUND=1; F_out__out_ch=1; F_out_=0; fi
- if [ "${arg#ch=}" != "$arg" ]; then FFOUND=1; F_out__out_ch_ch_=0; fi
- if [ "${arg#chkey=}" != "$arg" ]; then FFOUND=1; F_out__out_ch_chkey_=0; fi
- if [ "${arg#chunset=}" != "$arg" ]; then FFOUND=1; F_out__out_ch_chunset_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_ch_ch_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_ch_chkey_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_ch_chunset_=0; fi
if [ "$arg" = "out=chart" ]; then FFOUND=1; F_out__out_chart=1; F_out_=0; fi
- if [ "${arg#chart=}" != "$arg" ]; then FFOUND=1; F_out__out_chart_chart_=0; fi
- if [ "${arg#chartcls=}" != "$arg" ]; then FFOUND=1; F_out__out_chart_chartcls_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_chart_chart_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_chart_chartcls_=0; fi
if [ "$arg" = "out=cjson" ]; then FFOUND=1; F_out__out_cjson=1; F_out_=0; fi
if [ "$arg" = "out=cmd" ]; then FFOUND=1; F_out__out_cmd=1; F_out_=0; fi
- if [ "${arg#outcmd=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmd_=0; fi
- if [ "${arg#outcmdjoin=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdjoin_=0; fi
- if [ "${arg#outcmdseq=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdseq_=0; fi
- if [ "${arg#outcmdnl=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdnl_=0; fi
- if [ "${arg#outcmdparam=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdparam_=0; fi
- if [ "${arg#outcmdtmpl=}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdtmpl_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmd_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdjoin_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdseq_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdnl_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdparam_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_cmd_outcmdtmpl_=0; fi
if [ "$arg" = "out=cslon" ]; then FFOUND=1; F_out__out_cslon=1; F_out_=0; fi
if [ "$arg" = "out=csv" ]; then FFOUND=1; F_out__out_csv=1; F_out_=0; fi
- if [ "${arg#csv=}" != "$arg" ]; then FFOUND=1; F_out__out_csv_csv_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_csv_csv_=0; fi
if [ "$arg" = "out=dsv" ]; then FFOUND=1; F_out__out_dsv=1; F_out_=0; fi
- if [ "${arg#dsvsep=}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvsep_=0; fi
- if [ "${arg#dsvquote=}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvquote_=0; fi
- if [ "${arg#dsvfields=}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvfields_=0; fi
- if [ "${arg#dsvuseslon=}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvuseslon_=0; fi
- if [ "${arg#dsvheader=}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvheader_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvsep_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvquote_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvfields_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvuseslon_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_dsv_dsvheader_=0; fi
if [ "$arg" = "out=ctable" ]; then FFOUND=1; F_out__out_ctable=1; F_out_=0; fi
if [ "$arg" = "out=ctree" ]; then FFOUND=1; F_out__out_ctree=1; F_out_=0; fi
if [ "$arg" = "out=mtree" ]; then FFOUND=1; F_out__out_mtree=1; F_out_=0; fi
@@ -509,87 +509,87 @@ if [ $# -gt 0 ]; then
if [ "$arg" = "out=lkyaml" ]; then FFOUND=1; F_out__out_lkyaml=1; F_out_=0; fi
if [ "$arg" = "out=clkyaml" ]; then FFOUND=1; F_out__out_clkyaml=1; F_out_=0; fi
if [ "$arg" = "out=db" ]; then FFOUND=1; F_out__out_db=1; F_out_=0; fi
- if [ "${arg#dbjdbc=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbjdbc_=0; fi
- if [ "${arg#dbuser=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbuser_=0; fi
- if [ "${arg#dbpass=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbpass_=0; fi
- if [ "${arg#dbtimeout=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbtimeout_=0; fi
- if [ "${arg#dblib=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dblib_=0; fi
- if [ "${arg#dbtable=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbtable_=0; fi
- if [ "${arg#dbnocreate=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbnocreate_=0; fi
- if [ "${arg#dbicase=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbicase_=0; fi
- if [ "${arg#dbbatchsize=}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbbatchsize_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbjdbc_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbuser_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbpass_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbtimeout_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dblib_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbtable_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbnocreate_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbicase_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_db_dbbatchsize_=0; fi
if [ "$arg" = "out=envs" ]; then FFOUND=1; F_out__out_envs=1; F_out_=0; fi
- if [ "${arg#envscmd=}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envscmd_=0; fi
- if [ "${arg#envsprefix=}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envsprefix_=0; fi
- if [ "${arg#envsnoprefix=}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envsnoprefix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envscmd_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envsprefix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_envs_envsnoprefix_=0; fi
if [ "$arg" = "out=gb64json" ]; then FFOUND=1; F_out__out_gb64json=1; F_out_=0; fi
if [ "$arg" = "out=grid" ]; then FFOUND=1; F_out__out_grid=1; F_out_=0; fi
- if [ "${arg#grid=}" != "$arg" ]; then FFOUND=1; F_out__out_grid_grid_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_grid_grid_=0; fi
if [ "$arg" = "out=html" ]; then FFOUND=1; F_out__out_html=1; F_out_=0; fi
- if [ "${arg#htmlcompact=}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlcompact_=0; fi
- if [ "${arg#htmlpart=}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlpart_=0; fi
- if [ "${arg#htmlopen=}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlopen_=0; fi
- if [ "${arg#htmlwait=}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlwait_=0; fi
- if [ "${arg#htmldark=}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmldark_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlcompact_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlpart_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlopen_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmlwait_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_html_htmldark_=0; fi
if [ "$arg" = "out=ini" ]; then FFOUND=1; F_out__out_ini=1; F_out_=0; fi
if [ "$arg" = "out=json" ]; then FFOUND=1; F_out__out_json=1; F_out_=0; fi
if [ "$arg" = "out=jwt" ]; then FFOUND=1; F_out__out_jwt=1; F_out_=0; fi
- if [ "${arg#jwtsecret=}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtsecret_=0; fi
- if [ "${arg#jwtprivkey=}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtprivkey_=0; fi
- if [ "${arg#jwtalg=}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtalg_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtsecret_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtprivkey_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_jwt_jwtalg_=0; fi
if [ "$arg" = "out=lines" ]; then FFOUND=1; F_out__out_lines=1; F_out_=0; fi
if [ "$arg" = "out=log" ]; then FFOUND=1; F_out__out_log=1; F_out_=0; fi
- if [ "${arg#logprintall=}" != "$arg" ]; then FFOUND=1; F_out__out_log_logprintall_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_log_logprintall_=0; fi
if [ "$arg" = "out=map" ]; then FFOUND=1; F_out__out_map=1; F_out_=0; fi
if [ "$arg" = "out=md" ]; then FFOUND=1; F_out__out_md=1; F_out_=0; fi
- if [ "${arg#mdtemplate=}" != "$arg" ]; then FFOUND=1; F_out__out_md_mdtemplate_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_md_mdtemplate_=0; fi
if [ "$arg" = "out=mdtable" ]; then FFOUND=1; F_out__out_mdtable=1; F_out_=0; fi
if [ "$arg" = "out=mdyaml" ]; then FFOUND=1; F_out__out_mdyaml=1; F_out_=0; fi
if [ "$arg" = "out=ndjson" ]; then FFOUND=1; F_out__out_ndjson=1; F_out_=0; fi
if [ "$arg" = "out=ndslon" ]; then FFOUND=1; F_out__out_ndslon=1; F_out_=0; fi
if [ "$arg" = "out=ndcslon" ]; then FFOUND=1; F_out__out_ndcslon=1; F_out_=0; fi
if [ "$arg" = "out=oaf" ]; then FFOUND=1; F_out__out_oaf=1; F_out_=0; fi
- if [ "${arg#outoaf=}" != "$arg" ]; then FFOUND=1; F_out__out_oaf_outoaf_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_oaf_outoaf_=0; fi
if [ "$arg" = "out=openmetrics" ]; then FFOUND=1; F_out__out_openmetrics=1; F_out_=0; fi
- if [ "${arg#metricsprefix=}" != "$arg" ]; then FFOUND=1; F_out__out_openmetrics_metricsprefix_=0; fi
- if [ "${arg#metricstimestamp=}" != "$arg" ]; then FFOUND=1; F_out__out_openmetrics_metricstimestamp_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_openmetrics_metricsprefix_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_openmetrics_metricstimestamp_=0; fi
if [ "$arg" = "out=pjson" ]; then FFOUND=1; F_out__out_pjson=1; F_out_=0; fi
if [ "$arg" = "out=prettyjson" ]; then FFOUND=1; F_out__out_prettyjson=1; F_out_=0; fi
if [ "$arg" = "out=pxml" ]; then FFOUND=1; F_out__out_pxml=1; F_out_=0; fi
- if [ "${arg#pxmlprefix}" != "$arg" ]; then FFOUND=1; F_out__out_pxml_pxmlprefix=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_pxml_pxmlprefix=0; fi
if [ "$arg" = "out=raw" ]; then FFOUND=1; F_out__out_raw=1; F_out_=0; fi
if [ "$arg" = "out=rawascii" ]; then FFOUND=1; F_out__out_rawascii=1; F_out_=0; fi
- if [ "${arg#rawasciistart=}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciistart_=0; fi
- if [ "${arg#rawasciiend=}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciiend_=0; fi
- if [ "${arg#rawasciitab=}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciitab_=0; fi
- if [ "${arg#rawasciinovisual=}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciinovisual_=0; fi
- if [ "${arg#rawasciinolinenum=}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciinolinenum_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciistart_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciiend_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciitab_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciinovisual_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_rawascii_rawasciinolinenum_=0; fi
if [ "$arg" = "out=schart" ]; then FFOUND=1; F_out__out_schart=1; F_out_=0; fi
- if [ "${arg#schart=}" != "$arg" ]; then FFOUND=1; F_out__out_schart_schart_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_schart_schart_=0; fi
if [ "$arg" = "out=slon" ]; then FFOUND=1; F_out__out_slon=1; F_out_=0; fi
if [ "$arg" = "out=sql" ]; then FFOUND=1; F_out__out_sql=1; F_out_=0; fi
- if [ "${arg#sqltable=}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqltable_=0; fi
- if [ "${arg#sqlicase=}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqlicase_=0; fi
- if [ "${arg#sqlnocreate=}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqlnocreate_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqltable_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqlicase_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_sql_sqlnocreate_=0; fi
if [ "$arg" = "out=stable" ]; then FFOUND=1; F_out__out_stable=1; F_out_=0; fi
if [ "$arg" = "out=table" ]; then FFOUND=1; F_out__out_table=1; F_out_=0; fi
if [ "$arg" = "out=template" ]; then FFOUND=1; F_out__out_template=1; F_out_=0; fi
- if [ "${arg#template=}" != "$arg" ]; then FFOUND=1; F_out__out_template_template_=0; fi
- if [ "${arg#templatepath=}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatepath_=0; fi
- if [ "${arg#templatedata=}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatedata_=0; fi
- if [ "${arg#templatetmpl=}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatetmpl_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_template_template_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatepath_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatedata_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_template_templatetmpl_=0; fi
if [ "$arg" = "out=text" ]; then FFOUND=1; F_out__out_text=1; F_out_=0; fi
if [ "$arg" = "out=toml" ]; then FFOUND=1; F_out__out_toml=1; F_out_=0; fi
if [ "$arg" = "out=toon" ]; then FFOUND=1; F_out__out_toon=1; F_out_=0; fi
if [ "$arg" = "out=tree" ]; then FFOUND=1; F_out__out_tree=1; F_out_=0; fi
if [ "$arg" = "out=xls" ]; then FFOUND=1; F_out__out_xls=1; F_out_=0; fi
- if [ "${arg#xlsfile=}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsfile_=0; fi
- if [ "${arg#xlssheet=}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlssheet_=0; fi
- if [ "${arg#xlsformat=}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsformat_=0; fi
- if [ "${arg#xlsopen=}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsopen_=0; fi
- if [ "${arg#xlsopenwait=}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsopenwait_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsfile_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlssheet_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsformat_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsopen_=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xls_xlsopenwait_=0; fi
if [ "$arg" = "out=xml" ]; then FFOUND=1; F_out__out_xml=1; F_out_=0; fi
- if [ "${arg#outxmlprefix}" != "$arg" ]; then FFOUND=1; F_out__out_xml_outxmlprefix=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_out__out_xml_outxmlprefix=0; fi
if [ "$arg" = "out=yaml" ]; then FFOUND=1; F_out__out_yaml=1; F_out_=0; fi
# -h single option
if [ "$arg" = "-h" ]; then FFOUND=1; F__h=0; fi
@@ -723,11 +723,11 @@ if [ $# -gt 0 ]; then
if [ "$arg" = "regressionforecast=" ]; then FFOUND=1; F_regression__regressionforecast_=1; F_regression_=0; fi
# set= options
if [ "$arg" = "setop=" ]; then FFOUND=1; F_set__setop_=1; F_set_=0; fi
- if [ "${arg#setop=union}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_union=0; fi
- if [ "${arg#setop=diffa}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffa=0; fi
- if [ "${arg#setop=diffb}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffb=0; fi
- if [ "${arg#setop=diffab}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffab=0; fi
- if [ "${arg#setop=intersect}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_intersect=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_union=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffa=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffb=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_diffab=0; fi
+ if [ "}}}" != "$arg" ]; then FFOUND=1; F_set__setop__setop_intersect=0; fi
# removedups= single option
if [ "$arg" = "removedups=" ]; then FFOUND=1; F_removedups_=0; fi
# removeempty= single option
diff --git a/complete/completion_opack.sh b/complete/completion_opack.sh
index 4e7fad871..675ea128e 100644
--- a/complete/completion_opack.sh
+++ b/complete/completion_opack.sh
@@ -33,7 +33,7 @@ F__cred=1
if [ $# -gt 0 ]; then
FFOUND=0
for arg in "$@"; do
- if [ "$arg" = "${!#}" ]; then FFOUND=1; break; fi
+ if [ "$arg" = "" ]; then FFOUND=1; break; fi
# info single option
if [ "$arg" = "info" ]; then FFOUND=1; F_info=0; fi
# search single option
diff --git a/js/openaf.js b/js/openaf.js
index 166ac94c7..ac6d78025 100644
--- a/js/openaf.js
+++ b/js/openaf.js
@@ -209,6 +209,7 @@ var __flags = ( typeof __flags != "undefined" && "[object Object]" == Object.pro
OJOB_CHECK_JOB_REMOVAL : false,
OJOB_CHECK_JOB_CHANGES : false,
OJOB_ARGS_FROM_ENVS : false,
+ OPACK_REMOTE_DB_CACHE_TTL : 60000,
OAF_CLOSED : false,
OAF_PRECOMPILE_LEVEL : 2,
OAF_ERRSTACK : true, // If true $err will print the stack trace
@@ -3313,49 +3314,59 @@ const addOPackRemoteDB = function(aURL) {
*
* getOPackRemoteDB() : Array
* Returns an Array of maps. Each map element is an opack package description registered in the OpenAF central repository.
+ * Results are cached using $cache for __flags.OPACK_REMOTE_DB_CACHE_TTL milliseconds (default: 60000).
*
*/
const getOPackRemoteDB = function() {
- var packages = {};
+ var __opacksEnv = getEnv("OAF_OPACKS");
+ var _cache = $cache("__openaf_getOPackRemoteDB")
+ .fn((k) => {
+ var packages = {};
+ var _sources = clone(k.sources);
+ var _zip;
- plugin("ZIP")
- var zip
+ plugin("ZIP");
- // Check for OAF_OPACKS environment variable
- // If it exists, add the remote opack repositories
- if (isString(getEnv("OAF_OPACKS"))) {
- getEnv("OAF_OPACKS").split(",").forEach(url => addOPackRemoteDB(url) )
- }
- for(var i in __opackCentral) {
- if (!noHomeComms && __opackCentral[i].toLowerCase().startsWith("http")) {
- try {
- var _stream = $rest({ connectionTimeout: 1500 }).get2Stream(__opackCentral[i])
- //http = new HTTP(, "GET", "", {}, true, 1500);
- //zip = new ZIP(http.responseBytes());
- zip = new ZIP(af.fromInputStream2Bytes(_stream))
- packages = merge(packages, af.fromJson(af.fromBytes2String(zip.getFile(OPACKCENTRALJSON))))
- } catch(e) {
- // Continue to next
- } finally {
- if (isDef(zip)) zip.close()
- }
- } else if (io.fileExists(__opackCentral[i]) && io.fileInfo(__opackCentral[i]).isDirectory) {
- if (io.fileExists(__opackCentral[i] + "/" + PACKAGESJSON_CENTRALDB)) {
+ for(var i in _sources) {
+ if (!k.noHomeComms && _sources[i].toLowerCase().startsWith("http")) {
try {
- zip = new ZIP(io.readFileBytes(__opackCentral[i] + "/" + PACKAGESJSON_CENTRALDB))
- packages = merge(packages, af.fromJson(af.fromBytes2String(zip.getFile(OPACKCENTRALJSON))))
+ var _stream = $rest({ connectionTimeout: 1500 }).get2Stream(_sources[i]);
+ _zip = new ZIP(af.fromInputStream2Bytes(_stream));
+ packages = merge(packages, af.fromJson(af.fromBytes2String(_zip.getFile(OPACKCENTRALJSON))));
+ } catch(e) {
+ // Continue to next
} finally {
- if (isDef(zip)) zip.close()
+ if (isDef(_zip)) _zip.close();
+ }
+ } else if (io.fileExists(_sources[i]) && io.fileInfo(_sources[i]).isDirectory) {
+ if (io.fileExists(_sources[i] + "/" + PACKAGESJSON_CENTRALDB)) {
+ try {
+ _zip = new ZIP(io.readFileBytes(_sources[i] + "/" + PACKAGESJSON_CENTRALDB));
+ packages = merge(packages, af.fromJson(af.fromBytes2String(_zip.getFile(OPACKCENTRALJSON))));
+ } finally {
+ if (isDef(_zip)) _zip.close();
+ }
}
}
}
+
+ return packages;
+ })
+ .ttl(_$(__flags.OPACK_REMOTE_DB_CACHE_TTL, "__flags.OPACK_REMOTE_DB_CACHE_TTL").isNumber().default(60000))
+ .create();
+
+ var _sources = clone(__opackCentral);
+
+ // Check for OAF_OPACKS environment variable
+ // If it exists, add the remote opack repositories
+ if (isString(__opacksEnv)) {
+ _sources = _sources.concat(__opacksEnv.split(","));
}
-
- //if (isUnDef(http)) return packages;
- //packages = af.fromJson(af.fromBytes2String(zip.getFile(OPACKCENTRALJSON)));
- //if (!isUnDef(zip)) zip.close();
- return packages;
+ return _cache.get({
+ noHomeComms: noHomeComms,
+ sources: _sources.sort()
+ });
}
/**
diff --git a/js/owrap.format.js b/js/owrap.format.js
index 34ed4dbd9..331f55730 100644
--- a/js/owrap.format.js
+++ b/js/owrap.format.js
@@ -4940,15 +4940,14 @@ OpenWrap.format.prototype.withMD = function(aString, defaultAnsi, aLineWidth, aB
__owWithMdCache = _withMdPatterns
}
- // pre process code blocks
-
- // remove html
- // TODO: .replace(/<\/?(code|pre>)[^>]*>/g, "```"). ?
- if (__flags.WITHMD.htmlFilter)
- res = res.replace(/