@@ -267,11 +267,11 @@
267 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int enableOutput = 1;
268 268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
269 269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
270 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** TH1 command: enable_output BOOLEAN
271 271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Enable or disable the puts and wiki commands.
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Enable or disable the puts, wiki, combobox and copybtn commands.
273 273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
274 274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static int enableOutputCmd(
275 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Interp *interp,
276 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void *p,
277 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int argc,
@@ -990,10 +990,69 @@
990 990 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sendText("</select>", -1, 0);
991 991 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Th_Free(interp, azElem);
992 992 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
993 993 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return TH_OK;
994 994 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
995 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
996 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
997 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** TH1 command: copybtn TARGETID TEXT ?COPYLENGTH?
998 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
999 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Output TEXT with a click-to-copy button next to it. Loads the copybtn.js
1000 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Javascript module, and generates HTML elements with the following IDs:
1001 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1002 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** TARGETID: The <span> wrapper around TEXT.
1003 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** copy-TARGETID: The <span> for the copy button.
1004 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1005 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** The optional COPYLENGTH argument defines the length of the substring of TEXT
1006 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** copied to clipboard:
1007 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1008 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** <= 0: No limit (default if the argument is omitted).
1009 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** >= 3: Truncate TEXT after COPYLENGTH (single-byte) characters.
1010 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 1: Use the "hash-digits" setting as the limit.
1011 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** 2: Use the length appropriate for URLs as the limit (defined at
1012 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** compile-time by FOSSIL_HASH_DIGITS_URL, defaults to 16).
1013 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1014 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int copybtnCmd(
1015 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Th_Interp *interp,
1016 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void *p,
1017 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int argc,
1018 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char **argv,
1019 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int *argl
1020 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
1021 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( argc!=3 && argc!=4 ){
1022 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return Th_WrongNumArgs(interp, "copybtn TARGETID TEXT COPYLENGTH");
1023 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1024 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( enableOutput ){
1025 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int copylength = 0;
1026 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zTargetId, *zText, *zResult;
1027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( argc==4 && Th_ToInt(interp, argv[3], argl[3], ©length) ){
1028 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return TH_ERROR;
1029 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1030 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( copylength==1 ) copylength = hash_digits(0);
1031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ else if( copylength==2 ) copylength = hash_digits(1);
1032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTargetId = htmlize((char*)argv[1], argl[1]);
1033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zText = htmlize((char*)argv[2], argl[2]);
1034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zResult = mprintf(
1035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "<span "
1036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "class=\"copy-button\" "
1037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "id=\"copy-%s\" "
1038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "data-copytarget=\"%s\" "
1039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "data-copylength=\"%d\">"
1040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "</span>"
1041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " "
1042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "<span id=\"%s\">"
1043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "%s"
1044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "</span>",
1045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zTargetId, zTargetId, copylength, zTargetId, zText);
1046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zTargetId);
1047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zText);
1048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_copy_button();
1049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sendText(zResult, -1, 0);
1050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ free(zResult);
1051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return TH_OK;
1053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
995 1054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
996 1055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
997 1056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** TH1 command: linecount STRING MAX MIN
998 1057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
999 1058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Return one more than the number of \n characters in STRING. But
@@ -2024,10 +2083,11 @@
2024 2083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"anycap", anycapCmd, 0},
2025 2084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"artifact", artifactCmd, 0},
2026 2085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"cgiHeaderLine", cgiHeaderLineCmd, 0},
2027 2086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"checkout", checkoutCmd, 0},
2028 2087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"combobox", comboboxCmd, 0},
2088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {"copybtn", copybtnCmd, 0},
2029 2089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"date", dateCmd, 0},
2030 2090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"decorate", wikiCmd, (void*)&aFlags[2]},
2031 2091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"dir", dirCmd, 0},
2032 2092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"enable_output", enableOutputCmd, 0},
2033 2093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{"encode64", encode64Cmd, 0},
2034 2094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!