]> Kevux Git Server - fll/commitdiff
Feature: Add support for eki_read program by extending iki_read, also adding --select...
authorKevin Day <Kevin@kevux.org>
Sun, 8 Dec 2024 00:56:30 +0000 (18:56 -0600)
committerKevin Day <Kevin@kevux.org>
Sun, 8 Dec 2024 00:56:30 +0000 (18:56 -0600)
The eki_read is a variation of iki_read that instead supports the Extended IKI standard, known as EKI.

The iki_read and eki_read share common code.

This introduces a new parameter called `--select` or `-s`.
This allows for selecting the Vocabulary name (Object) at a given index.
I specifically chose `-s` to make the behavior more closely in line with the `-s` and `--select` from the fss_read programs.
The only difference being that the fss_read programs operate on the Content rather than the Object.

This decision forces the `--substitute` to now use `-S` instead of `-s`.
This is a breaking change that I will not back port.
The use of `--substitute` will still work with the 0.7 and 0.6 releases.

This completes the following progress commits:
21ae35744a1cfc7703fe3ac13b25ff7a71fa2d59
dbc2fc03c4edd96611e07317a2c876f412017d2c
21ae35744a1cfc7703fe3ac13b25ff7a71fa2d59

13 files changed:
level_3/iki_read/c/eki/identify.c
level_3/iki_read/c/eki/print.c
level_3/iki_read/c/eki/process.c
level_3/iki_read/c/iki/print.c
level_3/iki_read/c/iki/process.c
level_3/iki_read/c/main/common.c
level_3/iki_read/c/main/common.h
level_3/iki_read/c/main/common/define.h
level_3/iki_read/c/main/common/enumeration.h
level_3/iki_read/c/main/common/string.c
level_3/iki_read/c/main/common/string.h
level_3/iki_read/c/main/common/type.h
level_3/iki_read/c/main/print/message.c

index 5166a93abe86953d95c4ff05adb3e8dfad175322..176b4f1326fa356ca5494ae66ca6a2e6d1825ea8 100644 (file)
@@ -18,13 +18,14 @@ extern "C" {
 
       for (i = 0; i < data->vocabularys.used; ++i) {
 
+        main->setting.map_replacess.array[i].used = 0;
+        main->setting.map_wrapss.array[i].used = 0;
+
         for (j = 0; j < data->vocabularys.array[i].used; ++j) {
 
           if (iki_read_signal_check(main)) return;
 
           if (main->setting.replace.used) {
-            main->setting.map_replacess.array[i].used = 0;
-
             k = main->setting.replace.used - 1;
 
             do {
@@ -44,8 +45,6 @@ extern "C" {
           }
 
           if (main->setting.wrap.used) {
-            main->setting.map_wrapss.array[i].used = 0;
-
             k = main->setting.wrap.used - 1;
 
             do {
index 042b376dabd60f2ba32b3e4a1aacbf2523f0eacd..743ede7c7a367e4f2b2bc0c359314210de2a1f81 100644 (file)
@@ -91,12 +91,19 @@ extern "C" {
         iki_read_print_data_wrap_append(&main->program.output, index);
       }
       else if (main->setting.flag & iki_read_main_flag_object_d) {
-        for (at = 0; at < main->setting.map_replacess.array[index].used; ++at) {
-
-          if (main->setting.map_replacess.array[index].array[at] < main->setting.replace.used) {
-            f_print_dynamic(main->setting.replace.array[main->setting.map_replacess.array[index].array[at]].key, main->program.output.to);
+        if (main->setting.flag & iki_read_main_flag_select_d) {
+          if (main->setting.select < main->setting.map_replacess.array[index].used) {
+            f_print_dynamic(main->setting.replace.array[main->setting.map_replacess.array[index].array[main->setting.select]].key, main->program.output.to);
           }
-        } // for
+        }
+        else {
+          for (at = 0; at < main->setting.map_replacess.array[index].used; ++at) {
+
+            if (main->setting.map_replacess.array[index].array[at] < main->setting.replace.used) {
+              f_print_dynamic(main->setting.replace.array[main->setting.map_replacess.array[index].array[at]].key, main->program.output.to);
+            }
+          } // for
+        }
       }
       else {
         range.start = data->variable.array[index].start;
@@ -130,14 +137,21 @@ extern "C" {
       iki_read_print_data_wrap_append(&main->program.output, index);
     }
     else if (main->setting.flag & iki_read_main_flag_object_d) {
-      for (at = 0; at < data->vocabularys.array[index].used; ) {
+      if (main->setting.flag & iki_read_main_flag_select_d) {
+        if (main->setting.select < data->vocabularys.array[index].used) {
+          f_print_dynamic_partial(main->cache.buffer, data->vocabularys.array[index].array[main->setting.select], main->program.output.to);
+        }
+      }
+      else {
+        for (at = 0; at < data->vocabularys.array[index].used; ) {
 
-        f_print_dynamic_partial(main->cache.buffer, data->vocabularys.array[index].array[at], main->program.output.to);
+          f_print_dynamic_partial(main->cache.buffer, data->vocabularys.array[index].array[at], main->program.output.to);
 
-        if (++at < data->vocabularys.array[index].used) {
-          f_print_dynamic_raw(f_string_space_s, print->to);
-        }
-      } // for
+          if (++at < data->vocabularys.array[index].used) {
+            f_print_dynamic_raw(f_string_space_s, print->to);
+          }
+        } // for
+      }
     }
     else {
       range.start = data->variable.array[index].start;
index 5d87f8a6dc87b24f6b35e3dbd2624904df8082eb..22eb0b1ea4b6ea136785e85eb568b1a0bab95922 100644 (file)
@@ -144,6 +144,8 @@ extern "C" {
       return;
     }
 
+    main->setting.map_wrapss.used = main->setting.map_replacess.used = data->vocabularys.used;
+
     for (i = 0; i < data->delimits.used; ++i) {
       main->cache.buffer.string[data->delimits.array[i]] = f_iki_syntax_placeholder_s.string[0];
     } // for
index 9c2ad32707285a8d62bc68c85519a9109d8b449f..01916ad648adce202f9c92502e5b04386d56a1f6 100644 (file)
@@ -88,8 +88,10 @@ extern "C" {
         iki_read_print_data_wrap_append(&main->program.output, index);
       }
       else if (main->setting.flag & iki_read_main_flag_object_d) {
-        if (main->setting.map_replacess.array[index].array[0] < main->setting.replace.used) {
-          f_print_dynamic(main->setting.replace.array[main->setting.map_replacess.array[index].array[0]].key, main->program.output.to);
+        if (!(main->setting.flag & iki_read_main_flag_select_d) || !main->setting.select) {
+          if (main->setting.map_replacess.array[index].array[0] < main->setting.replace.used) {
+            f_print_dynamic(main->setting.replace.array[main->setting.map_replacess.array[index].array[0]].key, main->program.output.to);
+          }
         }
       }
       else {
@@ -120,7 +122,12 @@ extern "C" {
       iki_read_print_data_wrap_append(&main->program.output, index);
     }
     else if (main->setting.flag & iki_read_main_flag_object_d) {
-      f_print_dynamic_partial(main->cache.buffer, data->vocabulary.array[index], main->program.output.to);
+      if (!(main->setting.flag & iki_read_main_flag_select_d) || !main->setting.select) {
+        f_print_dynamic_partial(main->cache.buffer, data->vocabulary.array[index], main->program.output.to);
+      }
+      else if ((main->setting.flag & iki_read_main_flag_select_d) && main->setting.select) {
+        main->setting.state.status = F_data_not;
+      }
     }
     else {
       range.start = data->variable.array[index].start;
index 26e27ffb8afa900c9450c383dc7a69a56d5c67b3..e4f9eacd7b7db543bbc2135f549a1602bcd0c2d2 100644 (file)
@@ -144,6 +144,8 @@ extern "C" {
       return;
     }
 
+    main->setting.map_wrapss.used = main->setting.map_replacess.used = data->vocabulary.used;
+
     for (i = 0; i < data->delimits.used; ++i) {
       main->cache.buffer.string[data->delimits.array[i]] = f_iki_syntax_placeholder_s.string[0];
     } // for
index 0bd534aa19b3b456d36700d4bc5257782474482c..8c01f13d6d542567e73a5da0ae7619e78e704f18 100644 (file)
@@ -278,14 +278,45 @@ extern "C" {
       main->setting.flag |= iki_read_main_flag_replace_d;
     }
 
+    if (parameters->array[iki_read_parameter_select_e].result & f_console_result_found_e) {
+      if (!(parameters->array[iki_read_parameter_select_e].result & f_console_result_value_e) || !parameters->array[iki_read_parameter_select_e].values.used) {
+        main->setting.state.status = F_status_set_error(F_parameter);
+
+        fll_program_print_error_parameter_missing_value(&main->program.error, f_console_symbol_long_normal_s, iki_read_long_select_s);
+
+        return;
+      }
+
+      index = parameters->array[iki_read_parameter_select_e].values.array[i];
+
+      main->setting.select = 0;
+
+      main->setting.state.status = fl_conversion_dynamic_to_unsigned_detect(fl_conversion_data_base_10_c, parameters->arguments.array[index], &main->setting.select);
+
+      // Negative numbers are not supported.
+      if (main->setting.state.status == F_number_negative) {
+        main->setting.state.status = F_status_set_error(F_number_negative);
+      }
+
+      if (F_status_is_error(main->setting.state.status)) {
+        main->setting.state.status = F_status_set_error(F_parameter);
+
+        fll_program_print_error_parameter_integer_not(&main->program.error, f_console_symbol_long_normal_s, iki_read_long_select_s, parameters->arguments.array[index]);
+
+        return;
+      }
+
+      main->setting.flag |= iki_read_main_flag_select_d;
+    }
+
     if (iki_read_setting_load_parameter_substitution(main, parameters->array[iki_read_parameter_reassign_e], iki_read_long_reassign_s, &main->setting.reassign)) {
       main->setting.flag |= iki_read_main_flag_reassign_d;
     }
 
-    if (F_status_is_error(main->setting.state.status)) return;
-
-    if (iki_read_setting_load_parameter_substitution(main, parameters->array[iki_read_parameter_substitute_e], iki_read_long_substitute_s, &main->setting.substitute)) {
-      main->setting.flag |= iki_read_main_flag_substitute_d;
+    if (F_status_is_error_not(main->setting.state.status)) {
+      if (iki_read_setting_load_parameter_substitution(main, parameters->array[iki_read_parameter_substitute_e], iki_read_long_substitute_s, &main->setting.substitute)) {
+        main->setting.flag |= iki_read_main_flag_substitute_d;
+      }
     }
 
     if (F_status_is_error(main->setting.state.status)) return;
@@ -493,11 +524,11 @@ extern "C" {
 #endif // _di_iki_read_setting_load_
 
 #ifndef _di_iki_read_setting_load_parameter_substitution_
-  f_status_t iki_read_setting_load_parameter_substitution(iki_read_main_t * const main, const f_console_parameter_t parameter, const f_string_static_t name, f_string_triples_t *triple) {
+  f_status_t iki_read_setting_load_parameter_substitution(iki_read_main_t * const main, const f_console_parameter_t parameter, const f_string_static_t name, f_string_triples_t * const triple) {
 
     if (!(parameter.result & f_console_result_found_e)) return F_false;
 
-    if ((parameter.result & f_console_result_found_e) || parameter.values.used % 3) {
+    if (parameter.values.used % 3) {
       main->setting.state.status = F_status_set_error(F_parameter);
 
       fll_program_print_error_parameter_missing_value_requires_amount(&main->program.error, f_console_symbol_long_normal_s, name, iki_read_string_three_s);
index 9a16a771f3a704cff7a5293dc83c4cff4c1085d6..029697b958a0e3838bc517c56f7bdd92e297812b 100644 (file)
@@ -78,7 +78,7 @@ extern "C" {
  * @see f_memory_array_resize()
  */
 #ifndef _di_iki_read_setting_load_parameter_substitution_
-  extern f_status_t iki_read_setting_load_parameter_substitution(iki_read_main_t * const main, const f_console_parameter_t parameter, const f_string_static_t name, f_string_triples_t *triple);
+  extern f_status_t iki_read_setting_load_parameter_substitution(iki_read_main_t * const main, const f_console_parameter_t parameter, const f_string_static_t name, f_string_triples_t * const triple);
 #endif // _di_iki_read_setting_load_parameter_substitution_
 
 #ifdef __cplusplus
index bc7f74cbe1a696c1b82f39899f99d173d721790f..aab57323cedb245f05051683e7d2c9da3a6538d1 100644 (file)
@@ -60,7 +60,8 @@ extern "C" {
  *   - name:                   Selecting using a specific Vocabulary name.
  *   - object:                 Print Objects.
  *   - pipe:                   Use the input pipe.
- *   - replace:                Using re-assignments.
+ *   - select:                 Using select.
+ *   - reassign:               Using re-assignments.
  *   - replace:                Using replacements.
  *   - substitute:             Using substitutions.
  *   - total:                  Enable printing of "total" count.
@@ -82,12 +83,13 @@ extern "C" {
   #define iki_read_main_flag_pipe_d                   0x100
   #define iki_read_main_flag_reassign_d               0x200
   #define iki_read_main_flag_replace_d                0x400
-  #define iki_read_main_flag_substitute_d             0x800
-  #define iki_read_main_flag_total_d                  0x1000
-  #define iki_read_main_flag_version_d                0x2000
-  #define iki_read_main_flag_version_copyright_help_d 0x200c
-  #define iki_read_main_flag_whole_d                  0x4000
-  #define iki_read_main_flag_wrap_d                   0x8000
+  #define iki_read_main_flag_select_d                 0x800
+  #define iki_read_main_flag_substitute_d             0x1000
+  #define iki_read_main_flag_total_d                  0x2000
+  #define iki_read_main_flag_version_d                0x4000
+  #define iki_read_main_flag_version_copyright_help_d 0x400c
+  #define iki_read_main_flag_whole_d                  0x8000
+  #define iki_read_main_flag_wrap_d                   0x10000
 #endif // _di_iki_read_main_flag_d_
 
 /**
index 015b47ff16742768ed8260fe876341be80ac4b46..21d6321dfd530ceb611908d8ee49adad66b29a26 100644 (file)
@@ -29,6 +29,7 @@ extern "C" {
     iki_read_parameter_object_e,
     iki_read_parameter_reassign_e,
     iki_read_parameter_replace_e,
+    iki_read_parameter_select_e,
     iki_read_parameter_substitute_e,
     iki_read_parameter_total_e,
     iki_read_parameter_whole_e,
@@ -47,13 +48,14 @@ extern "C" {
       macro_f_console_parameter_t_initialize_3(iki_read_short_object_s,     iki_read_long_object_s,     0, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_reassign_s,   iki_read_long_reassign_s,   3, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_replace_s,    iki_read_long_replace_s,    2, f_console_flag_normal_e), \
+      macro_f_console_parameter_t_initialize_3(iki_read_short_select_s,     iki_read_long_select_s,     1, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_substitute_s, iki_read_long_substitute_s, 3, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_total_s,      iki_read_long_total_s,      0, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_whole_s,      iki_read_long_whole_s,      0, f_console_flag_normal_e), \
       macro_f_console_parameter_t_initialize_3(iki_read_short_wrap_s,       iki_read_long_wrap_s,       3, f_console_flag_normal_e), \
     }
 
-  #define iki_read_parameter_total_d (f_console_parameter_state_type_total_d + 12)
+  #define iki_read_parameter_total_d (f_console_parameter_state_type_total_d + 13)
 #endif // _di_iki_read_parameter_e_
 
 #ifdef __cplusplus
index 16ae66488f0bc6cc7f28c321f1637f1b65ed1393..6d6ccd9f1da3baed27d830bd91a47d623ece07ab 100644 (file)
@@ -30,6 +30,7 @@ extern "C" {
   const f_string_static_t iki_read_short_object_s = macro_f_string_static_t_initialize_1(IKI_READ_short_object_s, 0, IKI_READ_short_object_s_length);
   const f_string_static_t iki_read_short_reassign_s = macro_f_string_static_t_initialize_1(IKI_READ_short_reassign_s, 0, IKI_READ_short_reassign_s_length);
   const f_string_static_t iki_read_short_replace_s = macro_f_string_static_t_initialize_1(IKI_READ_short_replace_s, 0, IKI_READ_short_replace_s_length);
+  const f_string_static_t iki_read_short_select_s = macro_f_string_static_t_initialize_1(IKI_READ_short_select_s, 0, IKI_READ_short_select_s_length);
   const f_string_static_t iki_read_short_substitute_s = macro_f_string_static_t_initialize_1(IKI_READ_short_substitute_s, 0, IKI_READ_short_substitute_s_length);
   const f_string_static_t iki_read_short_total_s = macro_f_string_static_t_initialize_1(IKI_READ_short_total_s, 0, IKI_READ_short_total_s_length);
   const f_string_static_t iki_read_short_whole_s = macro_f_string_static_t_initialize_1(IKI_READ_short_whole_s, 0, IKI_READ_short_whole_s_length);
@@ -43,6 +44,7 @@ extern "C" {
   const f_string_static_t iki_read_long_object_s = macro_f_string_static_t_initialize_1(IKI_READ_long_object_s, 0, IKI_READ_long_object_s_length);
   const f_string_static_t iki_read_long_reassign_s = macro_f_string_static_t_initialize_1(IKI_READ_long_reassign_s, 0, IKI_READ_long_reassign_s_length);
   const f_string_static_t iki_read_long_replace_s = macro_f_string_static_t_initialize_1(IKI_READ_long_replace_s, 0, IKI_READ_long_replace_s_length);
+  const f_string_static_t iki_read_long_select_s = macro_f_string_static_t_initialize_1(IKI_READ_long_select_s, 0, IKI_READ_long_select_s_length);
   const f_string_static_t iki_read_long_substitute_s = macro_f_string_static_t_initialize_1(IKI_READ_long_substitute_s, 0, IKI_READ_long_substitute_s_length);
   const f_string_static_t iki_read_long_total_s = macro_f_string_static_t_initialize_1(IKI_READ_long_total_s, 0, IKI_READ_long_total_s_length);
   const f_string_static_t iki_read_long_whole_s = macro_f_string_static_t_initialize_1(IKI_READ_long_whole_s, 0, IKI_READ_long_whole_s_length);
index b3ccbc9383381e38f1f9754ef895eb72dd1dec0a..c648925553feb6d066c873c8f59defa185a0b68b 100644 (file)
@@ -98,7 +98,8 @@ extern "C" {
   #define IKI_READ_short_object_s     "o"
   #define IKI_READ_short_reassign_s   "R"
   #define IKI_READ_short_replace_s    "r"
-  #define IKI_READ_short_substitute_s "s"
+  #define IKI_READ_short_select_s     "s"
+  #define IKI_READ_short_substitute_s "S"
   #define IKI_READ_short_total_s      "t"
   #define IKI_READ_short_whole_s      "w"
   #define IKI_READ_short_wrap_s       "W"
@@ -111,6 +112,7 @@ extern "C" {
   #define IKI_READ_long_object_s     "object"
   #define IKI_READ_long_reassign_s   "reassign"
   #define IKI_READ_long_replace_s    "replace"
+  #define IKI_READ_long_select_s     "select"
   #define IKI_READ_long_substitute_s "substitute"
   #define IKI_READ_long_total_s      "total"
   #define IKI_READ_long_whole_s      "whole"
@@ -124,6 +126,7 @@ extern "C" {
   #define IKI_READ_short_object_s_length     1
   #define IKI_READ_short_reassign_s_length   1
   #define IKI_READ_short_replace_s_length    1
+  #define IKI_READ_short_select_s_length     1
   #define IKI_READ_short_substitute_s_length 1
   #define IKI_READ_short_total_s_length      1
   #define IKI_READ_short_whole_s_length      1
@@ -137,6 +140,7 @@ extern "C" {
   #define IKI_READ_long_object_s_length     6
   #define IKI_READ_long_reassign_s_length   8
   #define IKI_READ_long_replace_s_length    7
+  #define IKI_READ_long_select_s_length     6
   #define IKI_READ_long_substitute_s_length 10
   #define IKI_READ_long_total_s_length      5
   #define IKI_READ_long_whole_s_length      5
@@ -150,6 +154,7 @@ extern "C" {
   extern const f_string_static_t iki_read_short_object_s;
   extern const f_string_static_t iki_read_short_reassign_s;
   extern const f_string_static_t iki_read_short_replace_s;
+  extern const f_string_static_t iki_read_short_select_s;
   extern const f_string_static_t iki_read_short_substitute_s;
   extern const f_string_static_t iki_read_short_total_s;
   extern const f_string_static_t iki_read_short_whole_s;
@@ -163,6 +168,7 @@ extern "C" {
   extern const f_string_static_t iki_read_long_object_s;
   extern const f_string_static_t iki_read_long_reassign_s;
   extern const f_string_static_t iki_read_long_replace_s;
+  extern const f_string_static_t iki_read_long_select_s;
   extern const f_string_static_t iki_read_long_substitute_s;
   extern const f_string_static_t iki_read_long_total_s;
   extern const f_string_static_t iki_read_long_whole_s;
index e3446161a59b4c1d64dadcdcab7824c872960888..513557a983212dcc6607494fd4568a2d96b2e45b 100644 (file)
@@ -93,8 +93,9 @@ extern "C" {
  *   - status_signal: A status used eclusively by the threaded signal handler.
  *   - state:         The state data used when processing the FSS data.
  *
- *   - at:   The position representing the "at" index.
- *   - line: The position representing the "line" index.
+ *   - at:     The position representing the "at" index.
+ *   - line:   The position representing the "line" index.
+ *   - select: The position representing the "select" index.
  *
  *   - name:   A string representing the IKI vocabulary name being selected.
  *   - files:  An array of all files to process (except for the input pipe).
@@ -109,13 +110,14 @@ extern "C" {
  */
 #ifndef _di_iki_read_setting_t_
   typedef struct {
-    uint16_t flag;
+    uint32_t flag;
 
     f_status_t status_signal;
     f_state_t state;
 
     f_number_unsigned_t at;
     f_number_unsigned_t line;
+    f_number_unsigned_t select;
 
     f_string_dynamics_t names;
     f_string_dynamics_t files;
@@ -136,6 +138,7 @@ extern "C" {
       macro_f_state_t_initialize_1(iki_read_allocation_large_d, iki_read_allocation_small_d, F_okay, 0, 0, 0, 0, 0, 0, 0), \
       0, \
       0, \
+      0, \
       f_string_dynamics_t_initialize, \
       f_string_dynamics_t_initialize, \
       f_string_maps_t_initialize, \
index 8c9243a1584e7a9a839989373a677c9153dbae87..eb7dc0c4446ead5cb432da9842bb38bf66a5c6dd 100644 (file)
@@ -13,24 +13,25 @@ extern "C" {
 
     f_print_dynamic_raw(f_string_eol_s, print->to);
 
-    fll_program_print_help_option(print, iki_read_short_at_s, iki_read_long_at_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "   Select Variable at this numeric index.");
-    fll_program_print_help_option(print, iki_read_short_line_s, iki_read_long_line_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print only the Variables at the given line within the file.");
-    fll_program_print_help_option(print, iki_read_short_name_s, iki_read_long_name_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Select Variables with this name.");
-    fll_program_print_help_option(print, iki_read_short_whole_s, iki_read_long_whole_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print all of the data instead of just the IKI Variable data.");
+    fll_program_print_help_option(print, iki_read_short_at_s, iki_read_long_at_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "    Select Variable at this numeric index.");
+    fll_program_print_help_option(print, iki_read_short_name_s, iki_read_long_name_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "  Select Variables with this name.");
+    fll_program_print_help_option(print, iki_read_short_select_s, iki_read_long_select_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Select Vocabulay (aka: Object) at this index.");
 
     f_print_dynamic_raw(f_string_eol_s, print->to);
 
-    fll_program_print_help_option(print, iki_read_short_content_s, iki_read_long_content_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print the Variable value (aka: Content) (default)");
-    fll_program_print_help_option(print, iki_read_short_literal_s, iki_read_long_literal_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print the entire Variable (aka: Object, Content, and syntax).");
-    fll_program_print_help_option(print, iki_read_short_object_s, iki_read_long_object_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the Variable name (aka: Vocabulary) (aka: Object).");
+    fll_program_print_help_option(print, iki_read_short_content_s, iki_read_long_content_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print the Content (default)");
+    fll_program_print_help_option(print, iki_read_short_line_s, iki_read_long_line_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "   Print only the Variables at the given line within the file.");
+    fll_program_print_help_option(print, iki_read_short_literal_s, iki_read_long_literal_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Print the entire Variable (Vocabulary, Content, and syntax).");
+    fll_program_print_help_option(print, iki_read_short_object_s, iki_read_long_object_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, " Print the Vocabulary (aka: Object).");
     fll_program_print_help_option(print, iki_read_short_total_s, iki_read_long_total_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "  Print the total number of Variables.");
+    fll_program_print_help_option(print, iki_read_short_whole_s, iki_read_long_whole_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "  Print all of the data instead of just the IKI Variable data.");
 
     f_print_dynamic_raw(f_string_eol_s, print->to);
 
-    fll_program_print_help_option(print, iki_read_short_reassign_s, iki_read_long_reassign_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "  Re-assign the Variable for the given name and matching Content value with the given string.");
-    fll_program_print_help_option(print, iki_read_short_replace_s, iki_read_long_replace_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "   Simple substitution, replacing the Variable for the given name with the given string.");
-    fll_program_print_help_option(print, iki_read_short_substitute_s, iki_read_long_substitute_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Substitute the Variable for the given name and matching Content value with the given string.");
-    fll_program_print_help_option(print, iki_read_short_wrap_s, iki_read_long_wrap_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "      Prepend and append strings for the given name.");
+    fll_program_print_help_option(print, iki_read_short_reassign_s, iki_read_long_reassign_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "  Re-assign the Content with the given string for the Variable with the given Vocabulary name and matching Content.");
+    fll_program_print_help_option(print, iki_read_short_replace_s, iki_read_long_replace_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "   Simple substitution, replacing the Content with the given string for the Variable with the given Vocabulary name.");
+    fll_program_print_help_option(print, iki_read_short_substitute_s, iki_read_long_substitute_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "Substitute the Content with the given string for the Variable with the given Vocabulary name and matching Content value.");
+    fll_program_print_help_option(print, iki_read_short_wrap_s, iki_read_long_wrap_s, f_console_symbol_short_normal_s, f_console_symbol_long_normal_s, "      Prepend and append strings with the given Vocabulary name.");
 
     f_print_dynamic_raw(f_string_eol_s, print->to);