A SPARQL language server
Find a file
2025-06-17 12:20:41 +02:00
.cargo update getrandom to 0.3 2025-05-08 13:57:53 +02:00
.github/workflows Update actions/checkout action to v4 (#52) 2025-04-29 13:26:48 +02:00
crates/parser ENH: add Lang-Filter code-action 2025-06-17 12:18:11 +02:00
docs ENH: add Lang-Filter code-action 2025-06-17 12:18:11 +02:00
editor demo: add vim mode 2025-06-17 11:40:17 +02:00
extract_backends MAINT: make clippy happy 2025-05-24 23:13:22 +02:00
src MAINT: bumb version to 0.12.1 2025-06-17 12:20:41 +02:00
.gitignore Initial commit 2024-08-21 15:35:42 +02:00
.gitlab-ci.yml MAINT: add CI for docs 2025-06-09 23:15:15 +02:00
Cargo.lock MAINT: bumb version to 0.12.1 2025-06-17 12:20:41 +02:00
Cargo.toml MAINT: bumb version to 0.12.1 2025-06-17 12:20:41 +02:00
CHANGELOG.md ENH: add Lang-Filter code-action 2025-06-17 12:18:11 +02:00
justfile MAINT: update justfile 2025-06-11 22:02:15 +02:00
LICENSE Initial commit 2024-08-21 15:25:24 +02:00
Makefile MAINT: just&make target to setup development 2025-05-26 17:23:01 +02:00
pyproject.toml META: rename crate to "qlue-ls" 2024-12-16 12:08:16 +01:00
README.md MAINT: set 'remove_unused' to false 2025-06-17 11:42:47 +02:00
renovate.json Add renovate.json (#29) 2025-04-27 21:52:36 +02:00

🦀 Qlue-ls 🦀

Qlue-ls (pronounced "clueless") is a blazingly fast language server for SPARQL, written in Rust 🦀, build for the web.

If you want to use Qlue-ls, check out the documentation. To learn more about the origin story of this project, read the blog post.

🚀 Capabilities

Here is a quick overview what Qlue-ls can do. A more detailed list can be found in the documentation.

📐 Formatting

Formats SPARQL queries to ensure consistent and readable syntax. Customizable options to align with preferred query styles are also implemented.

🩺 Diagnostics

Diagnostics provide feedback on the query. Diagnostics come in severity: error, warning and info

Completion

Completion provides suggestions how the query could continue.

For completion of subjects, predicates or objects the language server sends completion-queries to the backend and gets the completions from the knowledge-graph.

These completion queries have to be configured for each knowledge-graph.

🛠️ Code Actions

Code action suggest complex changes to your input. Often in the form of a quickfix, to fix a diagnostic.

Hover

Get information about a token on hover.

🕳 Jump

Quickly jump to the next or previous important location in the query.

operation identification

Determine if a operation is a query or update.

⚙️ Configuration

Qlue-ls can be configured through a qlue-ls.toml or qlue-ls.yml file.

Detailed exmplanations can be found in the documentation.

Here is the full default configuration

[format]
align_predicates = true
align_prefixes = true
separate_prologue = false
capitalize_keywords = true
insert_spaces = true
tab_size = 2
where_new_line = true
filter_same_line = true

[completion]
timeout_ms = 5000
result_size_limit = 100

[prefixes]
add_missing = true
remove_unused = false

🙏 Special Thanks