qlue-ls

Crates.ioqlue-ls
lib.rsqlue-ls
version1.1.18
created_at2024-12-16 11:03:17.450162+00
updated_at2026-01-25 15:03:36.056463+00
descriptionA language server for SPARQL
homepage
repositoryhttps://github.com/IoannisNezis/qlue-ls
max_upload_size
id1484868
size2,122,942
Ioannis Nezis (IoannisNezis)

documentation

README

🦀 Qlue-ls 🦀

crates.io npm PyPI

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

💻 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

https://github.com/user-attachments/assets/207c8265-27b9-4dde-a18c-d82f7c5db4c9

📐 Formatting

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

https://github.com/user-attachments/assets/9d80ae33-8ff0-4bdd-8a9d-fb95a632673e

🛠️ Code Actions

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

https://github.com/user-attachments/assets/53fe75b6-71d2-4fe9-91c8-82ebda420712

ℹ️ Hover

  • View contextual information by hovering over tokens

https://github.com/user-attachments/assets/425e6912-c9f0-49ca-9937-6cd536ab9bc4

🩺 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.

Example 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
line_length = 120

[completion]
timeout_ms = 5000
result_size_limit = 100
subject_completion_trigger_length = 3
object_completion_suffix = true
variable_completion_limit = 10
same_subject_semicolon = true

[prefixes]
add_missing = true
remove_unused = false

🙏 Acknowledgements


Star History Chart
Commit count: 980

cargo fmt