mirror of
https://github.com/tests-always-included/mo.git
synced 2024-12-18 16:27:52 +00:00
Updates to match recent code changes
This commit is contained in:
parent
1c03949107
commit
0cc1cef6e9
148
API.md
148
API.md
@ -4,19 +4,52 @@ API / Function Documentation
|
|||||||
This documentation is generated automatically from the source of [mo] thanks to [tomdoc.sh].
|
This documentation is generated automatically from the source of [mo] thanks to [tomdoc.sh].
|
||||||
|
|
||||||
|
|
||||||
`mo()`
|
mo()
|
||||||
------
|
----
|
||||||
|
|
||||||
Public: Template parser function. Writes templates to stdout.
|
Public: Template parser function. Writes templates to stdout.
|
||||||
|
|
||||||
* $0 - Name of the mo file, used for getting the help message.
|
* $0 - Name of the mo file, used for getting the help message.
|
||||||
* $* - Filenames to parse. Can use -h or --help as the only option in order to show a help message.
|
* --false - Treat "false" as an empty value. You may set the MO_FALSE_IS_EMPTY environment variable instead to a non-empty value to enable this behavior.
|
||||||
|
* --help - Display a help message.
|
||||||
|
* --source=FILE - Source a file into the environment before processint template files.
|
||||||
|
* -- - Used to indicate the end of options. You may optionally use this when filenames may start with two hyphens.
|
||||||
|
* $@ - Filenames to parse.
|
||||||
|
|
||||||
|
Mo uses the following environment variables:
|
||||||
|
|
||||||
|
* MO_FALSE_IS_EMPTY - When set to a non-empty value, the string "false" will be treated as an empty value for the purposes of conditionals.
|
||||||
|
* MO_ORIGINAL_COMMAND - Used to find the `mo` program in order to generate a help message.
|
||||||
|
|
||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moFindEndTag()`
|
files
|
||||||
----------------
|
-----
|
||||||
|
|
||||||
|
After we encounter two hyphens together, all the rest of the arguments are files.
|
||||||
|
|
||||||
|
|
||||||
|
MO_FALSE_IS_EMPTY
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
shellcheck disable=SC2030
|
||||||
|
|
||||||
|
|
||||||
|
doubleHyphens
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Set a flag indicating we've encountered double hyphens
|
||||||
|
|
||||||
|
|
||||||
|
files
|
||||||
|
-----
|
||||||
|
|
||||||
|
Every arg that is not a flag or a option should be a file
|
||||||
|
|
||||||
|
|
||||||
|
moFindEndTag()
|
||||||
|
--------------
|
||||||
|
|
||||||
Internal: Scan content until the right end tag is found. Creates an array with the following members:
|
Internal: Scan content until the right end tag is found. Creates an array with the following members:
|
||||||
|
|
||||||
@ -34,8 +67,8 @@ Everything using this function uses the "standalone tags" logic.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moFindString()`
|
moFindString()
|
||||||
----------------
|
--------------
|
||||||
|
|
||||||
Internal: Find the first index of a substring. If not found, sets the index to -1.
|
Internal: Find the first index of a substring. If not found, sets the index to -1.
|
||||||
|
|
||||||
@ -46,8 +79,8 @@ Internal: Find the first index of a substring. If not found, sets the index to
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moFullTagName()`
|
moFullTagName()
|
||||||
-----------------
|
---------------
|
||||||
|
|
||||||
Internal: Generate a dotted name based on current context and target name.
|
Internal: Generate a dotted name based on current context and target name.
|
||||||
|
|
||||||
@ -58,8 +91,8 @@ Internal: Generate a dotted name based on current context and target name.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moGetContent()`
|
moGetContent()
|
||||||
----------------
|
--------------
|
||||||
|
|
||||||
Internal: Fetches the content to parse into a variable. Can be a list of partials for files or the content from stdin.
|
Internal: Fetches the content to parse into a variable. Can be a list of partials for files or the content from stdin.
|
||||||
|
|
||||||
@ -69,8 +102,8 @@ Internal: Fetches the content to parse into a variable. Can be a list of partia
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moIndentLines()`
|
moIndentLines()
|
||||||
-----------------
|
---------------
|
||||||
|
|
||||||
Internal: Indent a string, placing the indent at the beginning of every line that has any content.
|
Internal: Indent a string, placing the indent at the beginning of every line that has any content.
|
||||||
|
|
||||||
@ -81,8 +114,8 @@ Internal: Indent a string, placing the indent at the beginning of every line tha
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moIndirect()`
|
moIndirect()
|
||||||
--------------
|
------------
|
||||||
|
|
||||||
Internal: Send a variable up to the parent of the caller of this function.
|
Internal: Send a variable up to the parent of the caller of this function.
|
||||||
|
|
||||||
@ -100,8 +133,8 @@ Examples
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moIndirectArray()`
|
moIndirectArray()
|
||||||
-------------------
|
-----------------
|
||||||
|
|
||||||
Internal: Send an array as a variable up to caller of a function
|
Internal: Send an array as a variable up to caller of a function
|
||||||
|
|
||||||
@ -120,8 +153,8 @@ Examples
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moIsArray()`
|
moIsArray()
|
||||||
-------------
|
-----------
|
||||||
|
|
||||||
Internal: Determine if a given environment variable exists and if it is an array.
|
Internal: Determine if a given environment variable exists and if it is an array.
|
||||||
|
|
||||||
@ -138,8 +171,8 @@ Examples
|
|||||||
Returns 0 if the name is not empty, 1 otherwise.
|
Returns 0 if the name is not empty, 1 otherwise.
|
||||||
|
|
||||||
|
|
||||||
`moIsFunction()`
|
moIsFunction()
|
||||||
----------------
|
--------------
|
||||||
|
|
||||||
Internal: Determine if the given name is a defined function.
|
Internal: Determine if the given name is a defined function.
|
||||||
|
|
||||||
@ -157,8 +190,8 @@ Examples
|
|||||||
Returns 0 if the name is a function, 1 otherwise.
|
Returns 0 if the name is a function, 1 otherwise.
|
||||||
|
|
||||||
|
|
||||||
`moIsStandalone()`
|
moIsStandalone()
|
||||||
------------------
|
----------------
|
||||||
|
|
||||||
Internal: Determine if the tag is a standalone tag based on whitespace before and after the tag.
|
Internal: Determine if the tag is a standalone tag based on whitespace before and after the tag.
|
||||||
|
|
||||||
@ -178,8 +211,8 @@ Examples
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moJoin()`
|
moJoin()
|
||||||
----------
|
--------
|
||||||
|
|
||||||
Internal: Join / implode an array
|
Internal: Join / implode an array
|
||||||
|
|
||||||
@ -190,8 +223,8 @@ Internal: Join / implode an array
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moLoadFile()`
|
moLoadFile()
|
||||||
--------------
|
------------
|
||||||
|
|
||||||
Internal: Read a file into a variable.
|
Internal: Read a file into a variable.
|
||||||
|
|
||||||
@ -201,8 +234,8 @@ Internal: Read a file into a variable.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moLoop()`
|
moLoop()
|
||||||
----------
|
--------
|
||||||
|
|
||||||
Internal: Process a chunk of content some number of times. Writes output to stdout.
|
Internal: Process a chunk of content some number of times. Writes output to stdout.
|
||||||
|
|
||||||
@ -213,8 +246,8 @@ Internal: Process a chunk of content some number of times. Writes output to std
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moParse()`
|
moParse()
|
||||||
-----------
|
---------
|
||||||
|
|
||||||
Internal: Parse a block of text, writing the result to stdout.
|
Internal: Parse a block of text, writing the result to stdout.
|
||||||
|
|
||||||
@ -225,8 +258,8 @@ Internal: Parse a block of text, writing the result to stdout.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moPartial()`
|
moPartial()
|
||||||
-------------
|
-----------
|
||||||
|
|
||||||
Internal: Process a partial.
|
Internal: Process a partial.
|
||||||
|
|
||||||
@ -244,8 +277,8 @@ Prefix all variables.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moShow()`
|
moShow()
|
||||||
----------
|
--------
|
||||||
|
|
||||||
Internal: Show an environment variable or the output of a function to stdout.
|
Internal: Show an environment variable or the output of a function to stdout.
|
||||||
|
|
||||||
@ -257,8 +290,8 @@ Limit/prefix any variables used.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moSplit()`
|
moSplit()
|
||||||
-----------
|
---------
|
||||||
|
|
||||||
Internal: Split a larger string into an array.
|
Internal: Split a larger string into an array.
|
||||||
|
|
||||||
@ -270,8 +303,8 @@ Internal: Split a larger string into an array.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moStandaloneAllowed()`
|
moStandaloneAllowed()
|
||||||
-----------------------
|
---------------------
|
||||||
|
|
||||||
Internal: Handle the content for a standalone tag. This means removing whitespace (not newlines) before a tag and whitespace and a newline after a tag. That is, assuming, that the line is otherwise empty.
|
Internal: Handle the content for a standalone tag. This means removing whitespace (not newlines) before a tag and whitespace and a newline after a tag. That is, assuming, that the line is otherwise empty.
|
||||||
|
|
||||||
@ -284,8 +317,8 @@ Internal: Handle the content for a standalone tag. This means removing whitespa
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moStandaloneDenied()`
|
moStandaloneDenied()
|
||||||
----------------------
|
--------------------
|
||||||
|
|
||||||
Internal: Handle the content for a tag that is never "standalone". No adjustments are made for newlines and whitespace.
|
Internal: Handle the content for a tag that is never "standalone". No adjustments are made for newlines and whitespace.
|
||||||
|
|
||||||
@ -297,21 +330,22 @@ Internal: Handle the content for a tag that is never "standalone". No adjustmen
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moTest()`
|
moTest()
|
||||||
----------
|
--------
|
||||||
|
|
||||||
Internal: Determines if the named thing is a function or if it is a non-empty environment variable.
|
Internal: Determines if the named thing is a function or if it is a non-empty environment variable. When MO_FALSE_IS_EMPTY is set to a non-empty value, then "false" is also treated is an empty value.
|
||||||
|
|
||||||
Do not use variables without prefixes here if possible as this needs to check if any name exists in the environment
|
Do not use variables without prefixes here if possible as this needs to check if any name exists in the environment
|
||||||
|
|
||||||
* $1 - Name of environment variable or function
|
* $1 - Name of environment variable or function
|
||||||
* $2 - Current value (our context)
|
* $2 - Current value (our context)
|
||||||
|
* MO_FALSE_IS_EMPTY - When set to a non-empty value, this will say the string value "false" is empty.
|
||||||
|
|
||||||
Returns 0 if the name is not empty, 1 otherwise.
|
Returns 0 if the name is not empty, 1 otherwise. When MO_FALSE_IS_EMPTY is set, this returns 1 if the name is "false".
|
||||||
|
|
||||||
|
|
||||||
`moTrimChars()`
|
moTrimChars()
|
||||||
---------------
|
-------------
|
||||||
|
|
||||||
Internal: Trim the leading whitespace only.
|
Internal: Trim the leading whitespace only.
|
||||||
|
|
||||||
@ -324,8 +358,8 @@ Internal: Trim the leading whitespace only.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moTrimWhitespace()`
|
moTrimWhitespace()
|
||||||
--------------------
|
------------------
|
||||||
|
|
||||||
Internal: Trim leading and trailing whitespace from a string.
|
Internal: Trim leading and trailing whitespace from a string.
|
||||||
|
|
||||||
@ -335,8 +369,8 @@ Internal: Trim leading and trailing whitespace from a string.
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
`moUsage()`
|
moUsage()
|
||||||
-----------
|
---------
|
||||||
|
|
||||||
Internal: Displays the usage for mo. Pulls this from the file that contained the `mo` function. Can only work when the right filename comes is the one argument, and that only happens when `mo` is called with `$0` set to this file.
|
Internal: Displays the usage for mo. Pulls this from the file that contained the `mo` function. Can only work when the right filename comes is the one argument, and that only happens when `mo` is called with `$0` set to this file.
|
||||||
|
|
||||||
@ -345,5 +379,11 @@ Internal: Displays the usage for mo. Pulls this from the file that contained th
|
|||||||
Returns nothing.
|
Returns nothing.
|
||||||
|
|
||||||
|
|
||||||
|
MO_ORIGINAL_COMMAND
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Save the original command's path for usage later
|
||||||
|
|
||||||
|
|
||||||
[mo]: ./mo
|
[mo]: ./mo
|
||||||
[tomdoc.sh]: https://github.com/mlafeldt/tomdoc.sh
|
[tomdoc.sh]: https://github.com/mlafeldt/tomdoc.sh
|
||||||
|
Loading…
Reference in New Issue
Block a user