### Class

# Ide LspService

#### Description

    abstract class Ide.LspService : Ide.Object {
      parent_instance: IdeObject
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Instance methods

###### ide_lsp_service_get_inherit_stderr

Gets whether the language server process’s stderr output should be passed to Builder’s.

###### ide_lsp_service_get_program

No description available.

###### ide_lsp_service_get_search_path

No description available.

###### ide_lsp_service_restart

Restarts the service and its associated process.

###### ide_lsp_service_set_inherit_stderr

Gets whether the language server process’s stderr output should be passed to Builder’s.

###### ide_lsp_service_set_program

No description available.

###### ide_lsp_service_set_search_path

Sets an alternate search path to use when discovering programs on the host system.

##### Methods inherited from IdeObject (28)

Please see IdeObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Ide.LspService:client

The `IdeLspClient` provided by the service, or `NULL` if it has not been started yet.

###### Ide.LspService:inherit-stderr

If inherit-stderr is enabled, the language server process’s stderr is passed through to Builder’s.

###### Ide.LspService:program

The “program” property contains the name of the executable to launch. If this is set, the create-launcher signal will use it to locate and execute the program if found.

###### Ide.LspService:search-path

An alternate search path to locate the program on the host.

###### Ide.LspService:supervisor

The `IdeSubprocessSupervisor` that manages the language server process, or `NULL` if the service is not running.

##### Properties inherited from IdeObject (2)

###### Ide.Object:cancellable

The “cancellable” property is a `GCancellable` that can be used by operations that will be cancelled when the `IdeObject::destroy` signal is emitted on `self`.

Available since: 3.32

###### Ide.Object:parent

The parent `IdeObject`, if any.

Available since: 3.32

#### Signals

###### Ide.LspService::create-launcher

Creates the launcher to be used for the LSP.

##### Signals inherited from IdeObject (1)

###### Ide.Object::destroy

The “destroy” signal is emitted when the object should destroy itself and cleanup any state that is no longer necessary. This happens when the object has been removed from the because it was requested to be destroyed, or because a parent object is being destroyed.

Available since: 3.32

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct IdeLspServiceClass {
      IdeObjectClass parent_class;
      IdeSubprocessLauncher* (* create_launcher) (
        IdeLspService* self,
        IdePipeline* pipeline,
        GSubprocessFlags flags
      );
      void (* configure_launcher) (
        IdeLspService* self,
        IdePipeline* pipeline,
        IdeSubprocessLauncher* launcher
      );
      void (* configure_supervisor) (
        IdeLspService* self,
        IdeSubprocessSupervisor* supervisor
      );
      void (* configure_client) (
        IdeLspService* self,
        IdeLspClient* client
      );

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.
`create_launcher` |
    IdeSubprocessLauncher* (* create_launcher) (
        IdeLspService* self,
        IdePipeline* pipeline,
        GSubprocessFlags flags
      )
| No description available.
`configure_launcher` |
    void (* configure_launcher) (
        IdeLspService* self,
        IdePipeline* pipeline,
        IdeSubprocessLauncher* launcher
      )
| No description available.
`configure_supervisor` |
    void (* configure_supervisor) (
        IdeLspService* self,
        IdeSubprocessSupervisor* supervisor
      )
| No description available.
`configure_client` |
    void (* configure_client) (
        IdeLspService* self,
        IdeLspClient* client
      )
| No description available.

#### Virtual methods

###### Ide.LspServiceClass.configure_client

No description available.

###### Ide.LspServiceClass.configure_launcher

No description available.

###### Ide.LspServiceClass.configure_supervisor

No description available.

###### Ide.LspServiceClass.create_launcher

No description available.

#### Class methods

###### ide_lsp_service_class_bind_client

Binds the “client” property of `property` to its context’s instance of `klass`. If the language server is not running yet, it will be started.

###### ide_lsp_service_class_bind_client_lazy

Like `ide_lsp_service_bind_client()` but will not immediately spawn the language server.