### Signal

# Ide LspService::create-launcher

#### Declaration

    IdeSubprocessLauncher*
    create_launcher (
      IdeLspService* self,
      IdePipeline* pipeline,
      GSubprocessFlags flags,
      gpointer user_data
    )

#### Description

Creates the launcher to be used for the LSP.

If you want to use a launcher on the host, this would be a good place to determine that.

Default handler: | The default handler is called after the handlers added via `g_signal_connect()`.

#### Parameters

`pipeline` | `IdePipeline`
| A loaded `IdePipeline`
| The data is owned by the caller of the function.
`flags` | `GSubprocessFlags`
| `GSubprocessFlags` to use for the launcher.

#### Return value

Returns: | `IdeSubprocessLauncher`
| A `IdeSubprocessLauncher` or `NULL`.
| The caller of the function takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.