### Method

# Ide CompileCommands lookup

#### Declaration

    gchar**
    ide_compile_commands_lookup (
      IdeCompileCommands* self,
      GFile* file,
      const gchar* const* system_includes,
      GFile** directory,
      GError** error
    )

#### Description

Locates the commands to compile the `file` requested.

If `directory` is non-NULL, then the directory to run the command from is placed in `directory`.

Available since: | 3.32

#### Parameters

`file` | `GFile`
| A `GFile` representing the file to lookup.
| The data is owned by the caller of the function.
`system_includes` | `const gchar* const*`
| System include dirs if any.
| The data is owned by the caller of the function.
| The value is a NUL terminated UTF-8 string.
`directory` | `GFile`
| A location for a `GFile`, or `NULL`.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | An array of `utf8`
| A string array or `NULL` if there was a failure to locate or parse the command.
| The array is `NULL`-terminated.
| The caller of the method takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.
| Each element is a NUL terminated UTF-8 string.