开源软件名称(OpenSource Name):love2d-community/love-api开源软件地址(OpenSource Url):https://github.com/love2d-community/love-api开源编程语言(OpenSource Language):Lua 100.0%开源软件介绍(OpenSource Introduction):LÖVE-APIThe complete API documentation of LÖVE contained in a Lua table. The API information is updated manually based on the LÖVE Wiki. Therefore there is no guarantee that everything is correct and up to date. If you find any errors, outdated information or missing content, please file a bug report or create a pull request. Contributions are more than welcome! Versions
Projects using the LÖVE-API
Table structurereturn {
version = '11.3',
functions = { -- Functions not in modules, currently only love.getVersion
-- See function structure below
},
modules = {
{
name = 'modulename',
description = 'Description.',
types = {
-- See type structure below
},
functions = {
-- See function structure below
},
enums = {
{
name = 'EnumName',
description = 'Description.',
constants = {
{
name = 'constantname',
description = 'Description.'
}
}
}
}
}
},
types = { -- Currently only supertypes
-- See type structure below
},
callbacks = {
-- See function structure below
}
} types = {
{
name = 'TypeName',
description = 'Description.',
constructors = { -- Optional
'newTypeName'
},
functions = { -- Optional
-- See function structure below
},
supertypes = { -- Optional
'Supertype'
}
}
} functions = { -- callbacks = {
{
name = 'functionName',
description = 'Description.',
variants = {
{
returns = { -- Optional
{
type = 'type',
name = 'name',
description = 'Description.',
table = { -- If type is table
{
type = 'string',
name = 'name',
description = 'Description.'
}
}
}
},
arguments = { -- Optional
{
type = 'type',
name = 'name',
default = 'default argument', -- Optional
description = 'Description.',
table = { -- If type is table
{
type = 'string',
name = 'name',
default = 'nil', -- Optional
description = 'Description.'
}
}
}
}
}
}
}
} ExtraFor ease of use, It is required like this: api = require('love-api.extra')(require('love-api.love_api')) It makes the following changes:
Example: function synopsis listapi = require('extra')(require('love-api.love_api'))
table.sort(api.variants, function(a, b) return a.function_.fullname < b.function_.fullname end)
local s = ''
for _, variant in ipairs(api.variants) do
local function list(t)
local s = ''
for i, a in ipairs(t) do
s = s..a.name
if a.default then
s = s..' ['..a.default..']'
end
if i ~= #t then
s = s..', '
end
end
return s
end
if #variant.returns > 0 then
s = s..list(variant.returns)..' = '
end
s = s..variant.function_.fullname..'('
if #variant.arguments > 0 then
s = s..list(variant.arguments)
end
s = s..')\n'
end
print(s) Extra table structurereturn {
version = '11.3',
modules = {
{
name = 'modulename',
fullname = 'love.modulename', -- or 'love'
prefix = 'love.' -- or '' for 'love'
description = 'Description.',
minidescription = 'Description.',
types = {},
functions = {},
enums = {},
what = 'module',
id = 'love_modulename',
}
},
byfullname = {}, -- Indexed by 'fullname' key
byid = {}, -- Indexed by 'id' key
everything = {}, -- Every table with a 'what' key
allfullnames = {}, -- modules, functions, methods, callbacks, types, enums
allfunctions = {}, -- functions, methods, callbacks
noncallbackfunctions = {}, -- functions, methods
functions = {},
methods = {},
callbacks = {},
variants = {},
arguments = {},
returns = {},
tables = {},
types = {},
enums = {},
constants = {},
}
enums = {
{
name = 'EnumName',
fullname = name,
description = 'Description.',
minidescription = 'Description.',
constants = {
{
name = 'constantname',
description = 'Description.',
minidescription = 'Description.',
what = 'constant'
id = 'EnumName1',
module = moduleTable,
enum = enumTable,
}
}
what = 'enum',
id = 'EnumName',
module = moduleTable,
}
}
types = {
{
name = 'TypeName',
fullname = name,
description = 'Description.',
minidescription = 'Description.',
functions = {},
parenttype = 'Parenttype' -- Optional
supertypes = {
SupertypeTable,
},
subtypes = {
SubtypeTable,
}
constructors = {
newTypeNameTable,
},
what = 'type',
id = 'TypeName',
module = moduleTable,
}
}
functions = {
{
name = 'functionName',
fullname = 'love.module.functionName',
prefix = 'love.module.',
description = 'Description.',
minidescription = 'Description.',
setter = setterTable, -- Optional
getter = getterTable, -- Optional
constructs = typeTable, -- Optional
variants = {
{
description = 'Description.', -- Optional
returns = {},
arguments = {},
what = 'variant',
id = 'love_module_functionName_rb_ast',
module = moduleTable,
function_ = functionTable,
type_ = typeTable,
}
}
what = 'function', -- or 'method' or 'callback'
id = 'love_module_functionName',
module = moduleTable,
type_ = typeTable,
}
}
returns = { -- or arguments
{
type = 'type',
name = 'name',
default = 'default argument', -- If argument and not return
description = 'Description.',
table = { -- If type is 'table'
{
type = 'string',
name = 'name',
default = 'default argument', -- If argument and not return
description = 'Description.',
what = 'table',
id = 'love_module_functionName_rb_ast_a2_t1',
module = moduleTable,
type_ = typeTable,
function_ = functionTable,
variant = variantTable,
value = returnTable, -- or argumentTable
},
}
what = 'return', -- or 'argument'
id = 'love_module_functionName_rb_ast_r1',
module = moduleTable,
type_ = typeTable,
function_ = functionTable,
variant = variantTable,
}
} |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论