193 lines
7.7 KiB
Lua
193 lines
7.7 KiB
Lua
-- Copyright (c) 2018. tangzx(love.tangzx@qq.com)
|
||
--
|
||
-- Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||
-- use this file except in compliance with the License. You may obtain a copy of
|
||
-- the License at
|
||
--
|
||
-- http://www.apache.org/licenses/LICENSE-2.0
|
||
--
|
||
-- Unless required by applicable law or agreed to in writing, software
|
||
-- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||
-- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||
-- License for the specific language governing permissions and limitations under
|
||
-- the License.
|
||
|
||
os = {}
|
||
|
||
---
|
||
--- Returns an approximation of the amount in seconds of CPU time used by
|
||
--- the program.
|
||
---@return number
|
||
function os.clock() end
|
||
|
||
---
|
||
--- Returns a string or a table containing date and time, formatted according
|
||
--- to the given string `format`.
|
||
---
|
||
--- If the `time` argument is present, this is the time to be formatted (see
|
||
--- the `os.time` function for a description of this value). Otherwise,
|
||
--- `date` formats the current time.
|
||
---
|
||
--- If `format` starts with '`!`', then the date is formatted in Coordinated
|
||
--- Universal Time. After this optional character, if `format` is the string
|
||
--- "`*t`", then `date` returns a table with the following fields:
|
||
---
|
||
--- **`year`** (four digits)
|
||
--- **`month`** (1–12)
|
||
--- **`day`** (1-31)
|
||
--- **`hour`** (0-23)
|
||
--- **`min`** (0-59)
|
||
--- **`sec`** (0-61), due to leap seconds
|
||
--- **`wday`** (weekday, 1–7, Sunday is 1)
|
||
--- **`yday`** (day of the year, 1–366)
|
||
--- **`isdst`** (daylight saving flag, a boolean). This last field may be absent
|
||
--- if the information is not available.
|
||
---
|
||
--- If `format` is not "`*t`", then `date` returns the date as a string,
|
||
--- formatted according to the same rules as the ISO C function `strftime`.
|
||
---
|
||
--- When called without arguments, `date` returns a reasonable date and time
|
||
--- representation that depends on the host system and on the current locale.
|
||
--- (More specifically, `os.date()` is equivalent to `os.date("%c")`.)
|
||
---
|
||
--- On non-POSIX systems, this function may be not thread safe because of its
|
||
--- reliance on C function `gmtime` and C function `localtime`.
|
||
---@overload fun():string|table
|
||
---@param format string
|
||
---@param time number
|
||
---@return string|table
|
||
function os.date(format, time) end
|
||
|
||
---
|
||
--- Returns the difference, in seconds, from time `t1` to time `t2`. (where the
|
||
--- times are values returned by `os.time`). In POSIX, Windows, and some other
|
||
--- systems, this value is exactly `t2`-`t1`.
|
||
---@param t2 number
|
||
---@param t1 number
|
||
---@return number
|
||
function os.difftime(t2, t1) end
|
||
|
||
---
|
||
--- This function is equivalent to the C function `system`. It passes `command`
|
||
--- to be executed by an operating system shell. Its first result is **true** if
|
||
--- the command terminated successfully, or **nil** otherwise. After this first
|
||
--- result the function returns a string plus a number, as follows:
|
||
---
|
||
--- **"exit"**: the command terminated normally; the following number is the
|
||
--- exit status of the command.
|
||
--- **"signal"**: the command was terminated by a signal; the following number
|
||
--- is the signal that terminated the command.
|
||
---
|
||
--- When called without a command, `os.execute` returns a boolean that is true
|
||
--- if a shell is available.
|
||
---@overload fun():string|number
|
||
---@param command string
|
||
---@return string|number
|
||
function os.execute(command) end
|
||
|
||
---
|
||
--- Calls the ISO C function `exit` to terminate the host program. If `code` is
|
||
--- **true**, the returned status is `EXIT_SUCCESS`; if `code` is **false**, the
|
||
--- returned status is `EXIT_FAILURE`; if `code` is a number, the returned
|
||
--- status is this number. The default value for `code` is **true**.
|
||
---
|
||
--- If the optional second argument `close` is true, closes the Lua state before
|
||
--- exiting.
|
||
---@overload fun():number
|
||
---@param code number
|
||
---@param close boolean
|
||
---@return number
|
||
function os.exit(code, close) end
|
||
|
||
---
|
||
--- Returns the value of the process environment variable `varname`, or
|
||
--- **nil** if the variable is not defined.
|
||
---@param varname string
|
||
---@return string
|
||
function os.getenv(varname) end
|
||
|
||
---
|
||
--- Deletes the file (or empty directory, on POSIX systems) with the given name.
|
||
--- If this function fails, it returns **nil**, plus a string describing the
|
||
--- error and the error code. Otherwise, it returns true.
|
||
---@param filename string
|
||
---@return nil|string
|
||
function os.remove(filename) end
|
||
|
||
---
|
||
--- Renames the file or directory named `oldname` to `newname`. If this function
|
||
--- fails, it returns **nil**, plus a string describing the error and the error
|
||
--- code. Otherwise, it returns true.
|
||
---@param oldname string
|
||
---@param newname string
|
||
---@return nil|string
|
||
function os.rename(oldname, newname) end
|
||
|
||
---
|
||
--- Sets the current locale of the program. `locale` is a system-dependent
|
||
--- string specifying a locale; `category` is an optional string describing
|
||
--- which category to change: `"all"`, `"collate"`, `"ctype"`, `"monetary"`,
|
||
--- `"numeric"`, or `"time"`; the default category is `"all"`. The function
|
||
--- returns the name of the new locale, or **nil** if the request cannot be
|
||
--- honored.
|
||
---
|
||
--- If `locale` is the empty string, the current locale is set to an
|
||
--- implementation-defined native locale. If `locale` is the string "`C`",
|
||
--- the current locale is set to the standard C locale.
|
||
---
|
||
--- When called with **nil** as the first argument, this function only returns
|
||
--- the name of the current locale for the given category.
|
||
---
|
||
--- This function may be not thread safe because of its reliance on C function
|
||
--- `setlocale`.
|
||
---@overload fun(locale:string):string|nil
|
||
---@param locale string
|
||
---@param category string
|
||
---@return string|nil
|
||
function os.setlocale(locale, category) end
|
||
|
||
---
|
||
--- Returns the current time when called without arguments, or a time
|
||
--- representing the date and time specified by the given table. This table
|
||
--- must have fields `year`, `month`, and `day`, and may have fields `hour`
|
||
--- (default is 12), `min` (default is 0), `sec` (default is 0), and `isdst`
|
||
--- (default is **nil**). Other fields are ignored. For a description of these
|
||
--- fields, see the `os.date` function.
|
||
---
|
||
--- When the function is called, the values in these fields do not need to be
|
||
--- inside their valid ranges. For instance, if `sec` is -10, it means 10 seconds
|
||
--- before the time specified by the other fields; if `hour` is 1000, it means
|
||
--- 1000 hours after the time specified by the other fields.
|
||
---
|
||
--- The returned value is a number, whose meaning depends on your system. In
|
||
--- POSIX, Windows, and some other systems, this number counts the number of
|
||
--- seconds since some given start time (the "epoch"). In other systems, the
|
||
--- meaning is not specified, and the number returned by `time` can be used only
|
||
--- as an argument to `os.date` and `os.difftime`.
|
||
---
|
||
--- When called with a table, `os.time` also normalizes all the fields
|
||
--- documented in the `os.date` function, so that they represent the same time
|
||
--- as before the call but with values inside their valid ranges.
|
||
---@overload fun():number
|
||
---@param table table
|
||
---@return number
|
||
function os.time(table) end
|
||
|
||
---
|
||
--- Returns a string with a file name that can be used for a temporary
|
||
--- file. The file must be explicitly opened before its use and explicitly
|
||
--- removed when no longer needed.
|
||
---
|
||
--- On some systems (POSIX), this function also creates a file with that
|
||
--- name, to avoid security risks. (Someone else might create the file with
|
||
--- wrong permissions in the time between getting the name and creating the
|
||
--- file.) You still have to open the file to use it and to remove it (even
|
||
--- if you do not use it).
|
||
---
|
||
--- When possible, you may prefer to use `io.tmpfile`, which automatically
|
||
--- removes the file when the program ends.
|
||
---@return string
|
||
function os.tmpname() end
|
||
|
||
return os
|