[Central]() [GitHub tag]() Build Status Sonar [License]() Gitter

camel-language-server

camel-language-server is a server implementation that provides Camel DSL smartness. The server adheres to the language server protocol and can be used with any editor that supports the protocol. The server utilizes Apache Camel.

Clients

These clients are available:

Manual configuration is possible with:

Help is welcome to provide more client implementations, especially for:

Features

Code completion for Camel URI with XML DSL

Hover on Camel URI with XML DSL

On hover, the documentation of the Camel component is available. Hover on Camel components

Diagnostics (a.k.a. Validation) on Camel URI with XML DSL

On save, diagnostics on Camel URIs are updated: Diagnostic on Camel URI

WebSocket support

Connection through WebSocket is supported. The server needs to be launched with --websocket option.

The following extra parameters can be used:

Then, the connection can be made through ws://<hostname>:<port><contextPath>/camel-language-server.

For information, with all defaults, it is ws://localhost:8025/camel-language-server.

Specific version of Camel catalog

It is possible to specify a specific version of the Camel catalog. This can be provided as Initialization Option or Workspace Configuration. The format is the same for both:

{
    "camel": {
        "Camel catalog version" : ...
    }
}

To use Red Hat Integration productized version, the Red Hat Maven GA repository needs to be configured on the host running the Camel Language Server. To configure it, follow these steps:

For more information, check the Grape official documentation.

Additional Camel components

It is possible to specify a list of additional Camel components. This can be provided as Initialization Option or Workspace Configuration. The format is the same for both:

{
    "camel": {
        "extra-components" : [
            ...
        ]
    }
}

Document symbol support

There is document symbol for Camel Contexts and routes, on XML and Java DSL. In UI, for instance with VS Code, it means there are an outline, a breadcrumb and a Go To Document Symbol command.

Outline Go to Symbol Breadcrumb

Features planned

Feedback

License

ASL 2.0, See LICENSE file.