{"id":13761747,"url":"https://github.com/camel-tooling/camel-language-server","last_synced_at":"2025-10-07T06:45:13.337Z","repository":{"id":37734095,"uuid":"125354002","full_name":"camel-tooling/camel-language-server","owner":"camel-tooling","description":"The Apache Camel LSP server implementation","archived":false,"fork":false,"pushed_at":"2025-10-02T06:07:37.000Z","size":3282,"stargazers_count":51,"open_issues_count":55,"forks_count":24,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-10-02T08:16:17.400Z","etag":null,"topics":["apache-camel","camel","camel-language-server","language-server","language-server-protocol","lsp","lsp-server","lsp4j"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/camel-tooling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-03-15T10:57:40.000Z","updated_at":"2025-10-02T08:07:07.000Z","dependencies_parsed_at":"2023-12-22T08:32:48.031Z","dependency_job_id":"f502504e-c0f1-4e11-b76a-90335fb16c6d","html_url":"https://github.com/camel-tooling/camel-language-server","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/camel-tooling/camel-language-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camel-tooling%2Fcamel-language-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camel-tooling%2Fcamel-language-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camel-tooling%2Fcamel-language-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camel-tooling%2Fcamel-language-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camel-tooling","download_url":"https://codeload.github.com/camel-tooling/camel-language-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camel-tooling%2Fcamel-language-server/sbom","scorecard":{"id":263599,"data":{"date":"2025-08-11","repo":{"name":"github.com/camel-tooling/camel-language-server","commit":"0aab88022c9eadb936fac79d3d47dae9ccfb2ccb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":6,"reason":"Found 7/11 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/jdks.yml:1","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Warn: no topLevel permission defined: .github/workflows/os.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: .mvn/wrapper/maven-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/jdks.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/jdks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/jdks.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/jdks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/jdks.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/jdks.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/main.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/main.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/main.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/os.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/os.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/os.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/os.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/os.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/camel-tooling/camel-language-server/os.yml/main?enable=pin","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.0.0-SNAPSHOT not signed: https://api.github.com/repos/camel-tooling/camel-language-server/releases/10418012","Warn: release artifact untagged-711bc43a03163d77702a not signed: https://api.github.com/repos/camel-tooling/camel-language-server/releases/10218697","Warn: release artifact 1.0.0-SNAPSHOT does not have provenance: https://api.github.com/repos/camel-tooling/camel-language-server/releases/10418012","Warn: release artifact untagged-711bc43a03163d77702a does not have provenance: https://api.github.com/repos/camel-tooling/camel-language-server/releases/10218697"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/main.yml:8"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":-1,"reason":"internal error: internal error: Client.Checks.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: non-200 OK status code: 502 Bad Gateway body: \"\u003chtml\u003e\\r\\n\u003chead\u003e\u003ctitle\u003e502 Bad Gateway\u003c/title\u003e\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n\u003ccenter\u003e\u003ch1\u003e502 Bad Gateway\u003c/h1\u003e\u003c/center\u003e\\r\\n\u003chr\u003e\u003ccenter\u003enginx\u003c/center\u003e\\r\\n\u003c/body\u003e\\r\\n\u003c/html\u003e\\r\\n\"","details":null,"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T11:23:54.772Z","repository_id":37734095,"created_at":"2025-08-17T11:23:54.772Z","updated_at":"2025-08-17T11:23:54.772Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278734437,"owners_count":26036404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-camel","camel","camel-language-server","language-server","language-server-protocol","lsp","lsp-server","lsp4j"],"created_at":"2024-08-03T14:00:27.334Z","updated_at":"2025-10-07T06:45:13.332Z","avatar_url":"https://github.com/camel-tooling.png","language":"Java","funding_links":[],"categories":["Languages"],"sub_categories":[],"readme":"[![Central](https://img.shields.io/maven-central/v/com.github.camel-tooling/camel-lsp-server.svg?style=plastic)]()\n[![GitHub tag](https://img.shields.io/github/tag/camel-tooling/camel-language-server.svg?style=plastic)]()\n[![Main branch CI](https://github.com/camel-tooling/camel-language-server/actions/workflows/main.yml/badge.svg)](https://github.com/camel-tooling/camel-language-server/actions/workflows/main.yml)\n[![Sonar](https://sonarcloud.io/api/project_badges/measure?project=camel-lsp-server\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=camel-lsp-server)\n[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Chat on Zulip](https://img.shields.io/zulip-join_chat-brightgreen.svg)](https://camel.zulipchat.com/#narrow/stream/258729-camel-tooling)\n\n# camel-language-server\n\ncamel-language-server is a server implementation that provides Camel DSL smartness.\nThe server adheres to the [language server protocol](https://github.com/Microsoft/language-server-protocol)\nand can be used with any editor that supports the protocol. The server utilizes [Apache Camel](https://camel.apache.org/).\n\n# Clients\n\nThese clients are available:\n* [Eclipse IDE](https://github.com/camel-tooling/camel-lsp-client-eclipse) [Marketplace](https://marketplace.eclipse.org/content/language-support-apache-camel)\n* [VS Code \u0026 Codium](https://github.com/camel-tooling/camel-lsp-client-vscode)\n  * [Microsoft Marketplace](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-apache-camel)\n  * [Open VSX Marketplace](https://open-vsx.org/extension/redhat/vscode-apache-camel)\n* [Emacs](https://emacs-lsp.github.io/lsp-mode/page/lsp-camel/)\n* [Vim/NeoClide](https://www.npmjs.com/package/coc-camel)\n* [Eclipse Che with Theia](https://github.com/eclipse/che/pull/8648)\n* [Atom Editor](https://github.com/camel-tooling/camel-lsp-client-atom)\n\nTutorial with manual configuration is provided for:\n* [Vim/neoClide](https://github.com/camel-tooling/camel-lsp-client-vim)\n* [Sublime Text](https://github.com/camel-tooling/camel-lsp-client-sublime)\n* [CodeMirror](https://github.com/camel-tooling/camel-lsp-client-codemirror)\n* [Emacs](https://github.com/camel-tooling/camel-lsp-client-emacs)\n\nHelp is welcome to provide more client implementations and tutorials. You can pick from [this list](https://microsoft.github.io/language-server-protocol/implementors/tools/).\n\n## Features\n\n### Code completion for Camel URI\n* Completion for Camel components ![Completion for Camel components](./images/completionComponent.png \"Completion for Camel components\")\n* Completion for Camel attributes ![Completion for Camel attributes](./images/completionAttribute.png \"Completion for Camel attributes\")\n* Completion for Camel attributes value ![Completion for Camel attributes value](./images/completionAttributeValueForChoice.png \"Completion for Camel attributes value\")\n\n### Hover on Camel URI\n\nOn hover, the documentation of the Camel component is available.\n![Hover on Camel components](./images/hoverComponent.png \"Hover on Camel components\")\n\n### Diagnostics (a.k.a. Validation) on Camel URI\n\nOn save, diagnostics on Camel URIs are updated:\n![Diagnostic on Camel URI](./images/diagnostic.png \"Diagnostic on Camel URI\")\n\n### Camel K modeline support\n\n* Completion for:\n  * option names\n  * trait definition names\n  * trait property names\n  * Camel artifact id for dependency\n  * mvn dependency\n  * Camel component properties\n  * resource-like properties (`resource`, `open-api`, `property-file`). It is providing relevant sibling files filtering out some IDEs configuration folders (`.vscode`, `.settings`, `.theia`).\n\n### WebSocket support\n\nConnection through WebSocket is supported. The server needs to be launched with `--websocket` option.\n\nThe following extra parameters can be used:\n* `--port=\u003cport\u003e`, default value is `8025`\n* `--hostname=\u003chostname\u003e`, default value `localhost`\n* `--contextPath=\u003ccontextPath\u003e`, default value `/`. It must start with a `/`.\n\nThen, the connection can be made through\n`ws://\u003chostname\u003e:\u003cport\u003e\u003ccontextPath\u003e/camel-language-server`.\n\nFor information, with all defaults, it is `ws://localhost:8025/camel-language-server`.\n\n## Specific version of Camel catalog\n\nIt 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:\n\n```\n{\n\t\"camel\": {\n\t\t\"Camel catalog version\" : ...\n\t}\n}\n```\n\nPlease note that the first time a version is used, it can take several seconds/minutes to have it available depending on the time to download the dependencies in the background.\n\nWhen using a Red Hat productized version which contains `redhat` in the version, the Maven Red Hat repository is automatically added.\n\nTo use other versions not available on Maven Central, additional repositories need to be configured on the host running the Camel Language Server. To configure it, follow these steps:\n* Copy the [default grape config file corresponding to the version used by Camel](https://github.com/apache/groovy/blob/GROOVY_2_5_8/src/resources/groovy/grape/defaultGrapeConfig.xml) into _~/.groovy_ folder and call it _grapeConfig.xml_\n* Add `\u003cibiblio name=\"fuse\" m2compatible=\"true\" root=\"\u003chttps://\u003curlofYourMavenRepository\u003e\"/\u003e` inside the chain node\n\nFor more information, check the [Grape official documentation](http://docs.groovy-lang.org/latest/html/documentation/grape.html#Grape-CustomizeIvysettings).\n\n## Specific runtime provider of Camel catalog\n\nIt is possible to specify a specific runtime provider of the Camel catalog. This can be provided as Initialization Option or Workspace Configuration. The format is the same for both:\n\n```\n{\n\t\"camel\": {\n\t\t\"Camel catalog runtime provider\" : ...\n\t}\n}\n```\n\nCurrently supported providers can be found in [CamelRuntimeProvider](/src/main/java/com/github/cameltooling/lsp/internal/catalog/runtimeprovider/CamelRuntimeProvider) enum.\n\n## Additional Camel components\n\nIt 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:\n\n```\n{\n\t\"camel\": {\n\t\t\"extra-components\" : [\n\t\t\t...\n\t\t]\n\t}\n}\n\n```\n\n## Document symbol support\n\nThere 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.\n\n![Outline](./images/outline.png \"Outline\")\n![Go to Symbol](./images/goToSymbol.gif \"Go To Symbol\")\n![Breadcrumb](./images/breadCrumbXml.gif \"Breadcrumb\")\n\n## Features planned\n\n* As you type reporting of parsing and compilation errors\n* More advanced Code completion\n* Code outline\n* Code navigation\n* Code lens (references)\n* Highlights\n* Code formatting\n\n## Feedback\n\n* File a bug in [GitHub Issues](https://github.com/camel-tooling/camel-language-server/issues).\n\n## License\n\nASL 2.0, See [LICENSE](LICENSE) file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamel-tooling%2Fcamel-language-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamel-tooling%2Fcamel-language-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamel-tooling%2Fcamel-language-server/lists"}