@@ -1079,49 +1079,94 @@
1079 1079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *z, /* Full original help text */
1080 1080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob *pOut, /* Write simplified help text here */
1081 1081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zTopic, /* TOPIC */
1082 1082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSubtopic /* SUBTOPIC */
1083 1083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Blob in, line;
1084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Blob in, line, subsection;
1085 1085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n = 0;
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- char *zGlob = mprintf("> fossil %s *%s*", zTopic, zSubtopic);
1086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ size_t nSub; /* Length of zSubtopic */
1087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zQTop = re_quote(zTopic);
1088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zQSub = re_quote(zSubtopic);
1089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zPattern = mprintf("> fossil %s .*\\b%s\\b", zQTop, zQSub);
1090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ReCompiled *pRe = 0;
1087 1091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zQTop);
1093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zQSub);
1094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ re_compile(&pRe, zPattern, 0);
1095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zPattern);
1088 1096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&in, z, -1);
1089 1097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( blob_line(&in, &line) ){
1090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( sqlite3_strglob(zGlob, blob_str(&line))==0 ){
1098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( re_match(pRe, (unsigned char*)blob_buffer(&line), blob_strlen(&line)) ){
1091 1099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendb(pOut, &line);
1092 1100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n++;
1093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( blob_line(&in, &line) && blob_str(&line)[0]!='>' ){
1101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( blob_line(&in, &line) && blob_buffer(&line)[0]!='>' ){
1094 1102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendb(pOut, &line);
1095 1103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n++;
1096 1104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1097 1105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
1098 1106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1099 1107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_free(zGlob);
1108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&line);
1109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ re_free(pRe);
1101 1110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( n ){
1102 1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_trim(pOut);
1103 1112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&in);
1104 1113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return n;
1105 1114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1106 1115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* If no subtop name zSubtopic if found, try again for any LIKE
1108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** pattern match of zSubtopic.
1116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* No subtopic found. If zSubtopic is "options", print all command-line
1117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** options in the help text.
1118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fossil_strcmp("options",zSubtopic)==0 ){
1120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_rewind(&in);
1121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&subsection, 0, 0);
1122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ re_compile(&pRe, "^ +-.* ", 0);
1123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( blob_line(&in, &line) ){
1124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ size_t len = blob_strlen(&line);
1125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( re_match(pRe, (unsigned char*)blob_buffer(&line), (int)len) ){
1126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_strlen(&subsection) && blob_buffer(&line)[0]!='>' ){
1127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendb(pOut, &subsection);
1128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&subsection);
1129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendb(pOut, &line);
1131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ n++;
1132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( len>9 && strncmp(blob_buffer(&line),"> fossil ",9)==0 ){
1133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ subsection = line;
1134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ re_free(pRe);
1137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( n ){
1138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_trim(pOut);
1139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&in);
1140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return n;
1141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* If no subtopic name zSubtopic if found, try to match any text.
1109 1146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1110 1147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_rewind(&in);
1111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zSubtopic[0]=='/' && zSubtopic[1]!=0 ) zSubtopic++;
1112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zGlob = mprintf("%%%s%%", zSubtopic);
1148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_init(&subsection, 0, 0);
1149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nSub = (int)strlen(zSubtopic);
1113 1150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( blob_line(&in, &line) ){
1114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( sqlite3_strlike(zGlob, blob_str(&line),0)==0 ){
1151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ size_t len = blob_strlen(&line);
1152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( memmem(blob_buffer(&line), len, zSubtopic, nSub)!=0 ){
1153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( blob_strlen(&subsection) && blob_buffer(&line)[0]!='>' ){
1154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_appendb(pOut, &subsection);
1155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(&subsection);
1156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1115 1157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendb(pOut, &line);
1116 1158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n++;
1159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( len>9 && strncmp(blob_buffer(&line),"> fossil ",9)==0 ){
1160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ subsection = line;
1117 1161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1118 1162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_free(zGlob);
1120 1163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&in);
1121 1164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( n ){
1122 1165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_trim(pOut);
1166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ blob_reset(pOut);
1123 1168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1124 1169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return n;
1125 1170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1126 1171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1127 1172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -1145,11 +1190,11 @@
1145 1190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n = 0;
1146 1191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1147 1192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
re_compile(&pRe, "^(Usage: | *[Oo]r: +%fossi |> fossil )", 0);
1148 1193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&in, z, -1);
1149 1194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( blob_line(&in, &line) ){
1150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( re_match(pRe, (unsigned char*)blob_str(&line), blob_strlen(&line)) ){
1195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( re_match(pRe, (unsigned char*)blob_buffer(&line), blob_strlen(&line)) ){
1151 1196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_appendb(pOut, &line);
1152 1197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n++;
1153 1198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1154 1199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1155 1200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
re_free(pRe);
@@ -1254,24 +1299,44 @@
1254 1299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** for "fossil help --usage COMMAND [SUBCOMMAND]"
1255 1300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1256 1301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
void usage_cmd(void){
1257 1302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
help_cmd();
1258 1303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
1306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** COMMAND: apropos
1307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Usage: %fossil apropos KEYWORD ...
1309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
1310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Search the built-in help pages for Fossil for topics that
1311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** match the KEYWORD(s)
1312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
1313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ void usage_apropos(void){
1314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char **azNewArgv = fossil_malloc( (g.argc+2)*sizeof(char*) );
1315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ memcpy(azNewArgv, g.argv, g.argc);
1316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ azNewArgv[0] = g.argv[0];
1317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ azNewArgv[1] = "apropos";
1318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ azNewArgv[2] = "-h";
1319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ memcpy(&azNewArgv[3], &g.argv[2], (g.argc-2) * sizeof(char*));
1320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.argc++;
1321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ azNewArgv[g.argc] = 0;
1322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.argv = azNewArgv;
1323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ search_cmd();
1324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1259 1325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1260 1326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1261 1327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: help
1262 1328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Usage: %fossil help [OPTIONS] [TOPIC] [SUBCOMMAND|PATTERN]
1329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Usage: %fossil help [OPTIONS] [TOPIC] [SUBCOMMAND|options|PATTERN]
1264 1330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1265 1331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Display information on how to use TOPIC, which may be a command, webpage, or
1266 1332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** setting. Webpage names begin with "/". If TOPIC is omitted, a list of
1267 1333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** topics is returned. If there is an extra argument after TOPIC it is either
1268 1334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the name of a subcommand, in which case only the help text for that one
1269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** subcommand is show, or it is a LIKE pattern to search for, in which case all
1270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** lines of text that match that pattern are returned. If the search pattern
1271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** starts with "-", prepend "/" so that it will not be interpreted as an
1272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** option to the help command itself.
1335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** subcommand is shown, or it is the keyword "options" which displays all
1336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** command-line options for TOPIC, or it is a text pattern which causes all
1337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** lines of the help text that match that pattern to be shown.
1273 1338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1274 1339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The following options can be used when TOPIC is omitted:
1275 1340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
1276 1341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** -a|--all List both common and auxiliary commands
1277 1342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** -e|--everything List all help on all topics
@@ -1362,58 +1427,67 @@
1362 1427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
1363 1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.argc<3 ){
1364 1429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = g.argv[0];
1365 1430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print(
1366 1431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"Usage: %s help TOPIC\n"
1367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Try \"%s help help\" or \"%s help -a\" for more options\n"
1368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Frequently used commands:\n",
1369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- z, z, z);
1432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Things to try:\n\n"
1433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " %s help help\n"
1434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " %s help options\n"
1435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " %s help -a\n"
1436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " %s apropos TOPIC\n\n"
1437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Other common values for TOPIC:\n\n",
1438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z, z, z, z, z);
1370 1439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
command_list(CMDFLAG_1ST_TIER,verboseFlag,useHtml);
1371 1440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !verboseFlag ) version_cmd();
1372 1441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
1373 1442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1374 1443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTopic = g.argv[2];
1375 1444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSubtopic = g.argc>=4 ? g.argv[3] : 0;
1376 1445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
isPage = ('/' == zTopic[0]) ? 1 : 0;
1377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(isPage){
1446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( isPage ){
1378 1447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCmdOrPage = "page";
1379 1448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( commandsFlag ){
1380 1449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mask = CMDFLAG_COMMAND;
1381 1450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCmdOrPage = "command";
1382 1451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1383 1452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zCmdOrPage = "command or setting";
1384 1453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = dispatch_name_search(g.argv[2], mask|CMDFLAG_PREFIX, &pCmd);
1386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rc ){
1387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int i, n;
1388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- const char *az[5];
1389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rc==1 ){
1390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("unknown %s: %s\n", zCmdOrPage, g.argv[2]);
1391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
1392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("ambiguous %s prefix: %s\n",
1393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zCmdOrPage, g.argv[2]);
1394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("Did you mean one of these TOPICs:\n");
1396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- n = dispatch_approx_match(g.argv[2], 5, az);
1397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for(i=0; i<n; i++){
1398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" * %s\n", az[i]);
1399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print("Other commands to try:\n");
1401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" fossil search -h PATTERN ;# search all help text\n");
1402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" fossil help -a ;# show all commands\n");
1403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" fossil help -w ;# show all web-pages\n");
1404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" fossil help -s ;# show all settings\n");
1405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_print(" fossil help -o ;# show global options\n");
1406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
1454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( fossil_strcmp(zTopic,"options")==0 ){
1455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z = zOptions;
1456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pCmd = 0;
1457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = dispatch_name_search(g.argv[2], mask|CMDFLAG_PREFIX, &pCmd);
1459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rc ){
1460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int i, n;
1461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *az[5];
1462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rc==1 ){
1463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("unknown %s: %s\n", zCmdOrPage, g.argv[2]);
1464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
1465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("ambiguous %s prefix: %s\n",
1466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zCmdOrPage, g.argv[2]);
1467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("Did you mean one of these TOPICs:\n");
1469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ n = dispatch_approx_match(g.argv[2], 5, az);
1470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i=0; i<n; i++){
1471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" * %s\n", az[i]);
1472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print("Other commands to try:\n");
1474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" fossil apropos PATTERN ;# search all help text\n");
1475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" fossil help -a ;# show all commands\n");
1476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" fossil help -w ;# show all web-pages\n");
1477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" fossil help -s ;# show all settings\n");
1478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_print(" fossil help -o ;# show global options\n");
1479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
1480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ z = pCmd->zHelp;
1482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( z==0 ){
1483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_fatal("no help available for the %s %s",
1484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pCmd->zName, zCmdOrPage);
1485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1407 1486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1408 1487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&subtext1, 0, 0);
1409 1488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&subtext2, 0, 0);
1410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- z = pCmd->zHelp;
1411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( z==0 ){
1412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_fatal("no help available for the %s %s",
1413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pCmd->zName, zCmdOrPage);
1414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
1415 1489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSubtopic!=0 ){
1416 1490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( simplify_to_subtopic(z, &subtext1, zTopic, zSubtopic) ){
1417 1491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = blob_str(&subtext1);
1418 1492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1419 1493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_print("No subtopic \"%s\" for \"%s\".\n", zTopic, zSubtopic);
@@ -1423,11 +1497,11 @@
1423 1497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1424 1498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1425 1499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( bUsage && simplify_to_usage(z, &subtext2, zTopic) ){
1426 1500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z = blob_str(&subtext2);
1427 1501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pCmd->eCmdFlags & CMDFLAG_SETTING ){
1502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pCmd && pCmd->eCmdFlags & CMDFLAG_SETTING ){
1429 1503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const Setting *pSetting = db_find_setting(pCmd->zName, 0);
1430 1504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zDflt = 0;
1431 1505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pSetting!=0 && pSetting->def!=0 && *pSetting->def!=0 ){
1432 1506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zDflt = mprintf(" (default: %s)", pSetting->def);
1433 1507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1434 1508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!