Auto-complete for native extensions

The Defold editor will provide auto-complete suggestions for all Defold API functions and it will generate suggestions for Lua modules required by your scripts. The editor is however unable to automatically provide auto-complete suggestions for the functionality exposed by native extensions. A native extension can provide an API definition in a separate file to enable auto-complete suggestions also for the API of the extension.

Creating a script API definition

A script API definition file has the extension .script_api. It must be in YAML format and located together with the extension files. The expected format for a script API definition is:

- name: The name of the extension
  type: table
  desc: Extension description
  members:
  - name: Name of the first member
    type: Member type
    desc: Member description
    # if member type is "function"
    parameters:
    - name: Name of the first parameter
      type: Parameter type
      desc: Parameter description
    - name: Name of the second parameter
      type: Parameter type
      desc: Parameter description
    # if member type is "function"
    returns:
    - name: Name of first return value
      type: Return value type
      desc: Return value description
    examples:
    - desc: First example of member usage
    - desc: Second example of member usage

  - name: Name of the second member
    ...

Types can be any of table, string , boolean, number, function. If a value can have multiple types it is written as [type1, type2, type3]. :::sidenote Types are currently not shown in the editor. It is recommended to still provide them so that they are available once the editor has support for showing type information. :::

Examples

Refer to the following projects for actual usage examples: