From 048f3cec7a18e7a28146f03c3c9e5d89d9613028 Mon Sep 17 00:00:00 2001 From: Thijs Schreijer Date: Wed, 15 Nov 2023 07:48:12 +0100 Subject: chore(docs): render the documentation --- docs/index.html | 366 ++++++++++++++++++++++++++++++++++++ docs/ldoc.css | 291 ++++++++++++++++++++++++++++ docs/topics/01-introduction.md.html | 70 +++++++ docs/topics/CHANGELOG.md.html | 121 ++++++++++++ docs/topics/LICENSE.md.html | 79 ++++++++ 5 files changed, 927 insertions(+) create mode 100644 docs/index.html create mode 100644 docs/ldoc.css create mode 100644 docs/topics/01-introduction.md.html create mode 100644 docs/topics/CHANGELOG.md.html create mode 100644 docs/topics/LICENSE.md.html diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..eb241c6 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,366 @@ + + + + + Lua-System docs + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + +
+ +

Module system

+

Platform independent system calls for Lua.

+

+ +

+ + +

environment Functions

+ + + + + + + + + + + + + +
getenv (name)Gets the value of an environment variable.
getenvs ()Returns a table with all environment variables.
setenv (name[, value])Sets an environment variable.
+

random Functions

+ + + + + +
random ([length=1])Generate random bytes.
+

term Functions

+ + + + + +
isatty (file)Checks if a file-handle is a TTY.
+

time Functions

+ + + + + + + + + + + + + +
gettime ()Get system time.
monotime ()Get monotonic time.
sleep (seconds[, precision=16])Sleep without a busy loop.
+ +
+
+ + +

environment Functions

+ +
+
+ + getenv (name) +
+
+ Gets the value of an environment variable.

+ +

NOTE: Windows has multiple copies of environment variables. For this reason, +the setenv function will not work with Lua's os.getenv on Windows. If you want +to use setenv then consider patching os.getenv with this implementation of getenv. + + +

Parameters:

+
    +
  • name + string + name of the environment variable +
  • +
+ +

Returns:

+
    + + string or nil + value of the environment variable, or nil if the variable is not set +
+ + + + +
+
+ + getenvs () +
+
+ Returns a table with all environment variables. + + + +

Returns:

+
    + + table + table with all environment variables and their values +
+ + + + +
+
+ + setenv (name[, value]) +
+
+ Sets an environment variable.

+ +

NOTE: Windows has multiple copies of environment variables. For this reason, the +setenv function will not work with Lua's os.getenv on Windows. If you want to use +it then consider patching os.getenv with the implementation of system.getenv. + + +

Parameters:

+
    +
  • name + string + name of the environment variable +
  • +
  • value + string + value of the environment variable, if nil the variable will be deleted (on +Windows, setting an empty string, will also delete the variable) + (optional) +
  • +
+ +

Returns:

+
    + + boolean + success +
+ + + + +
+
+

random Functions

+ +
+
+ + random ([length=1]) +
+
+ Generate random bytes. +This uses CryptGenRandom() on Windows, and /dev/urandom on other platforms. It will return the +requested number of bytes, or an error, never a partial result. + + +

Parameters:

+
    +
  • length + int + number of bytes to get + (default 1) +
  • +
+ +

Returns:

+
    + + string + string of random bytes +
+

Or

+
    +
  1. + nil + + +
  2. +
  3. + string + error message
  4. +
+ + + + +
+
+

term Functions

+ +
+
+ + isatty (file) +
+
+ Checks if a file-handle is a TTY. + + +

Parameters:

+
    +
  • file + file + the file-handle to check +
  • +
+ +

Returns:

+
    + + boolean + true if the file is a tty +
+ + + + +
+
+

time Functions

+ +
+
+ + gettime () +
+
+ Get system time. +The time is returned as the seconds since the epoch (1 January 1970 00:00:00). + + + +

Returns:

+
    + + number + seconds (fractional) +
+ + + + +
+
+ + monotime () +
+
+ Get monotonic time. +The time is returned as the seconds since system start. + + + +

Returns:

+
    + + number + seconds (fractional) +
+ + + + +
+
+ + sleep (seconds[, precision=16]) +
+
+ Sleep without a busy loop. +This function will sleep, without doing a busy-loop and wasting CPU cycles. + + +

Parameters:

+
    +
  • seconds + number + seconds to sleep (fractional). +
  • +
  • precision + integer + minimum stepsize in milliseconds (Windows only, ignored elsewhere) + (default 16) +
  • +
+ +

Returns:

+
    + + true on success, or nil+err on failure +
+ + + + +
+
+ + +
+
+
+generated by LDoc 1.4.6 +Last updated 2023-11-15 07:42:18 +
+
+ + diff --git a/docs/ldoc.css b/docs/ldoc.css new file mode 100644 index 0000000..5b9fbbf --- /dev/null +++ b/docs/ldoc.css @@ -0,0 +1,291 @@ +body { + color: #47555c; + font-size: 16px; + font-family: "Open Sans", sans-serif; + margin: 0; + background: #eff4ff; +} + +a:link { color: #008fee; } +a:visited { color: #008fee; } +a:hover { color: #22a7ff; } + +h1 { font-size:26px; font-weight: normal; } +h2 { font-size:22px; font-weight: normal; } +h3 { font-size:18px; font-weight: normal; } +h4 { font-size:16px; font-weight: bold; } + +hr { + height: 1px; + background: #c1cce4; + border: 0px; + margin: 15px 0; +} + +code, tt { + font-family: monospace; +} +span.parameter { + font-family: monospace; + font-weight: bold; + color: rgb(99, 115, 131); +} +span.parameter:after { + content:":"; +} +span.types:before { + content:"("; +} +span.types:after { + content:")"; +} +.type { + font-weight: bold; font-style:italic +} + +p.name { + font-family: "Andale Mono", monospace; +} + +#navigation { + float: left; + background-color: white; + border-right: 1px solid #d3dbec; + border-bottom: 1px solid #d3dbec; + + width: 14em; + vertical-align: top; + overflow: visible; +} + +#navigation br { + display: none; +} + +#navigation h1 { + background-color: white; + border-bottom: 1px solid #d3dbec; + padding: 15px; + margin-top: 0px; + margin-bottom: 0px; +} + +#navigation h2 { + font-size: 18px; + background-color: white; + border-bottom: 1px solid #d3dbec; + padding-left: 15px; + padding-right: 15px; + padding-top: 10px; + padding-bottom: 10px; + margin-top: 30px; + margin-bottom: 0px; +} + +#content h1 { + background-color: #2c3e67; + color: white; + padding: 15px; + margin: 0px; +} + +#content h2 { + background-color: #6c7ea7; + color: white; + padding: 15px; + padding-top: 15px; + padding-bottom: 15px; + margin-top: 0px; +} + +#content h2 a { + background-color: #6c7ea7; + color: white; + text-decoration: none; +} + +#content h2 a:hover { + text-decoration: underline; +} + +#content h3 { + font-style: italic; + padding-top: 15px; + padding-bottom: 4px; + margin-right: 15px; + margin-left: 15px; + margin-bottom: 5px; + border-bottom: solid 1px #bcd; +} + +#content h4 { + margin-right: 15px; + margin-left: 15px; + border-bottom: solid 1px #bcd; +} + +#content pre { + margin: 15px; +} + +pre { + background-color: rgb(50, 55, 68); + color: white; + border-radius: 3px; + /* border: 1px solid #C0C0C0; /* silver */ + padding: 15px; + overflow: auto; + font-family: "Andale Mono", monospace; +} + +#content ul pre.example { + margin-left: 0px; +} + +table.index { +/* border: 1px #00007f; */ +} +table.index td { text-align: left; vertical-align: top; } + +#navigation ul +{ + font-size:1em; + list-style-type: none; + margin: 1px 1px 10px 1px; + padding-left: 20px; +} + +#navigation li { + text-indent: -1em; + display: block; + margin: 3px 0px 0px 22px; +} + +#navigation li li a { + margin: 0px 3px 0px -1em; +} + +#content { + margin-left: 14em; +} + +#content p { + padding-left: 15px; + padding-right: 15px; +} + +#content table { + padding-left: 15px; + padding-right: 15px; + background-color: white; +} + +#content p, #content table, #content ol, #content ul, #content dl { + max-width: 900px; +} + +#about { + padding: 15px; + padding-left: 16em; + background-color: white; + border-top: 1px solid #d3dbec; + border-bottom: 1px solid #d3dbec; +} + +table.module_list, table.function_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; + margin: 15px; +} +table.module_list td, table.function_list td { + border-width: 1px; + padding-left: 10px; + padding-right: 10px; + padding-top: 5px; + padding-bottom: 5px; + border: solid 1px rgb(193, 204, 228); +} +table.module_list td.name, table.function_list td.name { + background-color: white; min-width: 200px; border-right-width: 0px; +} +table.module_list td.summary, table.function_list td.summary { + background-color: white; width: 100%; border-left-width: 0px; +} + +dl.function { + margin-right: 15px; + margin-left: 15px; + border-bottom: solid 1px rgb(193, 204, 228); + border-left: solid 1px rgb(193, 204, 228); + border-right: solid 1px rgb(193, 204, 228); + background-color: white; +} + +dl.function dt { + color: rgb(99, 123, 188); + font-family: monospace; + border-top: solid 1px rgb(193, 204, 228); + padding: 15px; +} + +dl.function dd { + margin-left: 15px; + margin-right: 15px; + margin-top: 5px; + margin-bottom: 15px; +} + +#content dl.function dd h3 { + margin-top: 0px; + margin-left: 0px; + padding-left: 0px; + font-size: 16px; + color: rgb(128, 128, 128); + border-bottom: solid 1px #def; +} + +#content dl.function dd ul, #content dl.function dd ol { + padding: 0px; + padding-left: 15px; + list-style-type: none; +} + +ul.nowrap { + overflow:auto; + white-space:nowrap; +} + +.section-description { + padding-left: 15px; + padding-right: 15px; +} + +/* stop sublists from having initial vertical space */ +ul ul { margin-top: 0px; } +ol ul { margin-top: 0px; } +ol ol { margin-top: 0px; } +ul ol { margin-top: 0px; } + +/* make the target distinct; helps when we're navigating to a function */ +a:target + * { + background-color: #FF9; +} + + +/* styles for prettification of source */ +pre .comment { color: #bbccaa; } +pre .constant { color: #a8660d; } +pre .escape { color: #844631; } +pre .keyword { color: #ffc090; font-weight: bold; } +pre .library { color: #0e7c6b; } +pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; } +pre .string { color: #8080ff; } +pre .number { color: #f8660d; } +pre .operator { color: #2239a8; font-weight: bold; } +pre .preprocessor, pre .prepro { color: #a33243; } +pre .global { color: #c040c0; } +pre .user-keyword { color: #800080; } +pre .prompt { color: #558817; } +pre .url { color: #272fc2; text-decoration: underline; } diff --git a/docs/topics/01-introduction.md.html b/docs/topics/01-introduction.md.html new file mode 100644 index 0000000..2901cc9 --- /dev/null +++ b/docs/topics/01-introduction.md.html @@ -0,0 +1,70 @@ + + + + + Lua-System docs + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + +
+ + +

1. Introduction

+ +

luasystem is a platform independent system call library for Lua. +Supports Unix, Windows, MacOS, Lua >= 5.1 and luajit >= 2.0.0.

+ +

Lua is typically platform independent, but it requires adhering to very old C +standards. This in turn means that many common features (according to todays standards) +are not available. This module attempts to overcome some of those hurdles by providing +functions that cover those common needs.

+ +

This is not a kitchen sink library, but a minimalistic one with a focus on platform +independence.

+ + +
+
+
+generated by LDoc 1.4.6 +Last updated 2023-11-15 07:42:18 +
+
+ + diff --git a/docs/topics/CHANGELOG.md.html b/docs/topics/CHANGELOG.md.html new file mode 100644 index 0000000..f909b4b --- /dev/null +++ b/docs/topics/CHANGELOG.md.html @@ -0,0 +1,121 @@ + + + + + Lua-System docs + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + +
+ + +

CHANGELOG

+ +

+

Versioning

+ +

This library is versioned based on Semantic Versioning (SemVer).

+ +

Version scoping

+ +

The scope of what is covered by the version number excludes:

+ +
    +
  • error messages; the text of the messages can change, unless specifically documented.
  • +
+ +

Releasing new versions

+ +
    +
  • create a release branch
  • +
  • update the changelog below
  • +
  • update version and copyright-years in ./LICENSE.md and ./src/time.c (in module constants)
  • +
  • create a new rockspec and update the version inside the new rockspec:
    + cp luasystem-scm-0.rockspec ./rockspecs/luasystem-X.Y.Z-1.rockspec
  • +
  • clean and render the docs: run ldoc .
  • +
  • commit the changes as Release vX.Y.Z
  • +
  • push the commit, and create a release PR
  • +
  • after merging tag the release commit with vX.Y.Z
  • +
  • upload to LuaRocks:
    + luarocks upload ./rockspecs/luasystem-X.Y.Z-1.rockspec --api-key=ABCDEFGH
  • +
  • test the newly created rock:
    + luarocks install luasystem
  • +
+ +

+

Version history

+ +

Version X.Y.Z, unreleased

+ +
    +
  • Feat: on Windows sleep now has a precision parameter
  • +
  • Feat: setenv added to set environment variables.
  • +
  • Feat: getenvs added to list environment variables.
  • +
  • Feat: getenv added to get environment variable previously set (Windows).
  • +
  • Feat: random added to return high-quality random bytes
  • +
  • Feat: isatty added to check if a file-handle is a tty
  • +
+ +

Version 0.2.1, released 02-Oct-2016

+ +

Version 0.2.0, released 08-May-2016

+ +

Version 0.1.1, released 10-Apr-2016

+ +

Version 0.1.0, released 11-Feb-2016

+ +
    +
  • initial release
  • +
+ + +
+
+
+generated by LDoc 1.4.6 +Last updated 2023-11-15 07:42:18 +
+
+ + diff --git a/docs/topics/LICENSE.md.html b/docs/topics/LICENSE.md.html new file mode 100644 index 0000000..67614d2 --- /dev/null +++ b/docs/topics/LICENSE.md.html @@ -0,0 +1,79 @@ + + + + + Lua-System docs + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + +
+ + +

MIT License

+ +

Copyright (c) 2016-2023 Oscar Lim

+ +

Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions:

+ +

The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.

+ +

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.

+ + +
+
+
+generated by LDoc 1.4.6 +Last updated 2023-11-15 07:42:18 +
+
+ + -- cgit v1.2.3-55-g6feb