A SPARQL language server
Find a file
Ioannis Nezis bb63a7d755
Some checks failed
build-test-publish / 🏗️ build Rust 🦀 (push) Has been cancelled
build-test-publish / 🏗️ build python 🐍 (push) Has been cancelled
build-test-publish / 🔍 run tests (push) Has been cancelled
build-test-publish / 📦 Publish to crates.io (push) Has been cancelled
bumb version to 0.20.1
2025-11-24 00:54:13 +01: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 Update Rust crate logos to v0.15.1 (#218) 2025-10-21 20:25:13 +02:00
docs Expand on vim configuration in docs 2025-11-13 09:15:56 -05:00
editor Rename message and typescript objects to match 2025-11-13 12:31:50 -05:00
src MAINT: fix warnings 2025-11-24 00:52:59 +01: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 bumb version to 0.20.1 2025-11-24 00:54:13 +01:00
Cargo.toml bumb version to 0.20.1 2025-11-24 00:54:13 +01:00
CHANGELOG.md bumb version to 0.20.1 2025-11-24 00:54:13 +01:00
justfile DEP: update to parser 0.12.2 2025-06-18 12:33:07 +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 DOC: update readme 2025-10-12 12:13:19 +02:00
renovate.json ENH: add execute query capability 2025-10-29 15:46:49 +01:00

🦀 Qlue-ls 🦀

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

💻 Live Demo
📚 Documentation
📝 Project Blog Post
🎓 Thesis

🚀 Capabilities

Qlue-ls offers a wide range of LSP features tailored to SPARQL development.
For a complete overview, see the capabilities section.

Completion

  • Suggests valid continuations while typing SPARQL queries
  • Backend-powered suggestions for subjects, predicates, and objects
  • Note: Completion queries must be configured for each knowledge graph

📐 Formatting

  • Auto-formats SPARQL queries for consistency and readability
  • Fully customizable to match your preferred coding style

🛠️ Code Actions

  • Provides smart quick-fixes for diagnostics
  • Offers suggested improvements and automated edits

Hover

  • View contextual information by hovering over tokens

🩺 Diagnostics

  • Real-time feedback with severity levels: error, warning, and info
  • Helps catch syntax issues and common mistakes

🕳 Jump

  • Navigate quickly between key locations in a query

operation identification

  • Detects whether a SPARQL operation is a query or an update

⚙️ Configuration

Qlue-ls is configured via a qlue-ls.toml or qlue-ls.yml file.
Full configuration options are explained in the documentation.

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

🙏 Acknowledgements