]> Kevux Git Server - fll/commit
Feature: The iki_read program should support wrapping a variable value.
authorKevin Day <thekevinday@gmail.com>
Sun, 15 May 2022 23:49:47 +0000 (18:49 -0500)
committerKevin Day <thekevinday@gmail.com>
Mon, 16 May 2022 00:20:51 +0000 (19:20 -0500)
commit51bdf094ce1f8b5d100dc987540d93010b106bda
treedc008e982ce48811c04a7b0814ee097e7ace7dcc
parente0351ba9fea07004b0d646b13ecd06031a139507
Feature: The iki_read program should support wrapping a variable value.

One of the original design intentions of the IKI standard is to allow for substitution.
That substitution includes wrapping text with something like HTML markup.
The current design of iki_read falls short here.

While the substitution can be performed, the wrapping while preserving the existing value is not performed.
For example consider the following:
  emphasis:"Some message."

This should be substituted with the HTML5 "<em>" tag.
The substitute parameter requires knowing the value.
The replace parameter also requires knowing the value.

The emphasis HTML5 markup needs to be prepended and appended without having to know every single value.

To solve this, the -W/--wrap option is now available.
This is a 3 parameter option that acts similar to the -r/--replace parameter.
However, it will instead accept a "before" and "after" representing the before and after strings.
Either the before or after string may be an empty string.

The design of this feature re-utilizes existing structures.
These structures have context in their names that do not match "before" and "after".
This can be confusing, but this is considered an inconvenince at this time.
The goal is to keep the changes simple if at all possible with a stable release around the corner.
I also do now know what words to use to share between the different types without creating a new one to make such a change.

This feature is necessesary to ensure completeness with the original intent and design of both the IKI standard and the iki_read program.
level_3/iki_read/c/common.c
level_3/iki_read/c/common.h
level_3/iki_read/c/iki_read.c
level_3/iki_read/c/private-print.c
level_3/iki_read/c/private-print.h
level_3/iki_read/c/private-read.c
level_3/iki_read/c/private-read.h