diff options
author | Mattias Andrée <maandree@operamail.com> | 2015-11-28 13:39:20 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2015-11-28 13:39:20 +0100 |
commit | 9398f4863bfe2116ba2ddd75cdb0cc8a65ef81fe (patch) | |
tree | ee53570ce0e11675063cd22fbf9f96c9d28fe89f /README | |
parent | typo (diff) | |
download | gpp-9398f4863bfe2116ba2ddd75cdb0cc8a65ef81fe.tar.gz gpp-9398f4863bfe2116ba2ddd75cdb0cc8a65ef81fe.tar.bz2 gpp-9398f4863bfe2116ba2ddd75cdb0cc8a65ef81fe.tar.xz |
m info + improve readme
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'README')
-rw-r--r-- | README | 101 |
1 files changed, 99 insertions, 2 deletions
@@ -1,4 +1,101 @@ -General Perprocessor +NAME + gpp - Bash-based preprocessor for anything -Bash-based preprocessor for anything. + gpp: General Preprocessor + +SYNOPSIS + gpp [OPTION]... + +DESCRIPTION + gpp lets a developer embed directives written in GNU + Bash into any text document. These directives are used + to automate the writting of parts of the document. + + The preprocessing directives start with a symbol + (or text string) specified by the developer. By default + this symbol is @ (at). + + Any line starting with @< (where @ is the selected + symbol for preprocessing directives) or @>, or is + between a line starting with @< and a line starting + with @>, is parsed as a line, written in Bash, that + is executed during preprocessing. + A @< line must have an associated @> line somewhere + after it, all lines between them are parsed as + preprocessing directives. A @> does however not need + an associated @< line somewhere before it, making + @> suitable for single line directives. + + Preprocessing directives can also be inline. For this, + use @(COMMAND) where COMMAND is the Bash code to run. + Additionally, gpp supports variable substitution. + @{VARIABLE} will be replaces by the value if the + variable (possibility environment variable) VARIABLE. + gpp supports all modifiers thats Bash supports. For + example, if you want the value to be included but + uppercase you can write @{VARIABLE^^}, or @{VARIABLE,,} + for lowercase. + + Everything that is not preprocessing directives is + threaded as echo(1):ed lines. + +OPTIONS + -s, --symbol SYMBOL + Set the prefix symbol for preprocessor directives. + Defaults to @. + + -e, --encoding ENCODING + Specifies the encoding of the file. + + -n, --iterations N + The the processing N times. Defaults to 1 time. + + -u, --unshebang + Clear the shebang line, remove it if this flag + is used twice. If used twice, an empty line + will be inserted after the new first line. + + -i, --input FILE + Select file to process. Defaults to /dev/stdin. + + -o, --output FILE + Select output file. Defaults to /dev/stdout. + + -f, --file FILE + Equivalent to -i FILE -o FILE. + + -D, --export NAME=VALUE + Set the environment variable NAME to hold + the value VALUE. + + -D, --export NAME + Set the environment variable NAME to hold + the value 1. + + -v, --verion + Print program name and version and exit. + + -c, --copying + Print copyright notice and exit. + + Short options must joined. The value of a flag must be + in a separate argument from the flag itself. + +RATIONALE + Programmers need more automation when we write software + and documentation. An unrestricted preprocessor lets + you automate just about anything. Of course, it can be + used for anything, must just writing software and + documentation. Preprocessing can be used for more than + automation, it can also be used to increase the flexibility + of the work. + + C is one of the few languages that includes a preprocessor, + some times it is not enough; and all languages need + preprocessors. + +SEE ALSO + bash(1), jpp(1), cpp(1) + + Full documentation available locally via: info '(gpp)' |