love2d-community / love-api

The whole LÖVE wiki in a Lua table.
http://love2d-community.github.io/love-api/
300 stars 48 forks source link

Description of structure in README #34

Closed hahawoo closed 8 years ago

hahawoo commented 8 years ago

Maybe it would help people make use of it faster if there is a description of the table structure in the README. Here's what I came up with:

return {
    version = '0.10.1',
    functions = { -- love.something functions, 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'
        },
        subtypes = { -- Optional
            'Subtype'
        }
    }
}
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.'
                            }
                        }
                    }
                }
            }
        }
    }
}
rm-code commented 8 years ago

Sounds good to me :) Maybe the types and functions examples should be in separate code blocks for better readability.

hahawoo commented 8 years ago

Yes they should! I updated the comment.

rm-code commented 8 years ago

:+1: Feel free to edit the main README.md :)

hahawoo commented 8 years ago

Will do, thanks! :)

rm-code commented 8 years ago

Sweet. I just moved it over the "Projects" section.