yodlverbinsert(1)

✨ NAME ✨

yodlverbinsert β€” generates verb()-sections out of random parts of a file. 🫢

And hi bestie, yes, this is the Your Own Document Language manual, page yodlverbinsert(1). You're exactly where you're supposed to be. πŸ’–


🌈 SYNOPSIS 🌈

yodlverbinsert [OPTIONS] [marker] file

πŸŽ€ DESCRIPTION πŸŽ€

okay so Verbinsert is a simple C++ support program, and its entire personality is: generating verb()-sections inside Yodl files by pulling sections out of files that already exist. The files it pulls from are usually C or Cpp source files, and they can use either // or /*-style comments. Wanna see it in action? The EXAMPLES section has the receipts. ✨

It can also indent both the initial verb-statement and the inserted file contents. Plus, if you want, it'll sneak an extra empty line in before the first line that actually gets inserted. 🌸

Blank lines at the beginning and end of files are ignored. (Ignored as in "not copied", not as in "we're mad at you". Love that for them.) πŸ’…

  • marker β€” The marker argument has to start in file's first column, and it must start as a standard C or C++ comment: // or /* has to be used. After that, the remainder of the argument is used as a label, e.g. //label, /*label*/. Except for the first two characters and their locations, and the last two characters of a C-style marker, no special restrictions are imposed upon the label-names. A labeled section ends at the next //= (for labels starting with //) or at the next /**/ (for labels starting with /*). Just like the markers, those end-markers must also start in the first columns of lines. πŸ‘‘

Alternatively, pairs of //+label, or /*+label*/ can be used. For those markers, copying starts at the first line following the first occurrence of the label, and it ends when the label is encountered again. When these markers are used, any additionally encountered marker-line is simply ignored, and not written to the output stream. This is what lets labeled sections be nested. πŸͺ†

  • file β€” The file argument must be an existing file. No vibes-based file conjuring here.

Verbinsert writes its selected section to its standard output stream.

When files contain identical marker sections, then the contents of each of those marker sections is included in the generated verb-section. Which means you can include non-consecutive lines of source files in a single verb section. Iconic behaviour, honestly. πŸ”₯


πŸ’… OPTIONS πŸ’…

The default values of the options are listed with each of the options, between square brackets. Those defaults were chosen so that yodlverbinsert performs the behavior of an earlier version of this program, which was not distributed with Yodl.

  • -a β€” Process all lines of file (except initial and trailing blank lines). The marker argument must not be specified.
  • -A β€” Same as the -a option, but ignoring all lines that can be considered yodlverbinsert (end) marker-lines.
  • -k β€” Keep the newlines after verb( and before ). Those newlines result in extra empty lines before the first and after the last source code lines. Starting with version 4.02.00 these lines are removed by default.
  • -n β€” Immediately following the indentation: lines are prefixed by numbers, occupying 2 columns, followed by a colon and a blank.
  • -N β€” Do not write a newline immediately following the verb-statement's open-parenthesis. By default it is written, causing an additional line to be inserted before the first line that's actually inserted from a file.
  • -s nSpaces [0] β€” start each line that is written into the verb-section with nSpaces additional blanks.
  • -S nSpaces [8] β€” prefix the verb of the verb-section by nSpaces additional blanks.
  • -t nTabs [0] β€” start each line that is written into the verb-section with nTabs additional tab characters. If both -s and -t are specified, the tabs are inserted first.
  • -T nTabs [0] β€” prefix the verb of the verb-section by nTabs additional tab characters. If both -S and -T are specified, the tabs are inserted first.

πŸ¦‹ EXAMPLE πŸ¦‹

Assume the file demo contains the following text:

preceding text

//+nest
//one
one 1

//=

/*two*/

    two

/**/
//+nest

trailing text

Then the following commands write the shown output to the program's standard output:

  • yodlverbinsert //one demo
                      verb(
              one 1
              )
  • yodlverbinsert -N //one demo
                      verb(one 1
              )
  • yodlverbinsert -n -s4 ’/*two*/’ demo
                      verb(
                      1: two
              )
  • yodlverbinsert -n //+nest’ demo
                      verb(
               1: one 1
               2:
               3:
               4:
               5:     two
              )

πŸ‘‘ SEE ALSO πŸ‘‘

yodl(1), yodlbuiltins(7), yodlconverters(1), yodlletter(7), yodlmacros(7), yodlmanpage(7), yodlpost(1), yodlstriproff(1), yodltables(7).


πŸ’€ BUGS πŸ’€

The page literally just says -. That's it. Nothing to see here, we're unbothered. πŸ’…


πŸ“ AUTHOR πŸ“

Frank B. Brokken (f.b.brokken@rug.nl),


and that's the whole page, bestie 🧚 β€” this one's from yodl_4.05.02, dated 1996-2025, and it's still serving yodlverbinsert(1) realness. go forth and insert verbs. πŸ’œ
πŸ“¦ where this page comes from