extensions-script-api.md 2.0 KB


title: Adding editor auto-complete to a native extensions

brief: This manual explains how to create a script API definition so that the Defold editor can provide auto-complete for users of an extension.

Auto-complete for native extensions

The Defold editor will provide auto-complete suggestions for all Defold API functions and it will try to generate suggestions for Lua modules required by your scripts. The editor is however unable to provide auto-complete suggestions for the functionality exposed by native extensions. In the case of native extensions it is up to the extension author to generate a script API definition file that the editor can use to provide auto-complete suggestions.

Creating a script API definition

A script API definition file has the extension .script_api and it is a file in YAML format. 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].

Examples

Refer to the following projects for actual usage examples: