qlue-ls 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -37
- package/package.json +1 -1
- package/qlue_ls_bg.js +1 -1
- package/qlue_ls_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<h1 align="center">
|
|
2
|
-
Qlue-ls 🦀
|
|
2
|
+
🦀 Qlue-ls 🦀
|
|
3
3
|
</h1>
|
|
4
4
|
|
|
5
5
|
⚡Qlue-ls (pronounced "clueless") is a *blazingly fast* [language server](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification) for [SPARQL](https://de.wikipedia.org/wiki/SPARQL), written in Rust 🦀.
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
> Only the format capability is production ready.
|
|
10
10
|
> The rest is experimental.
|
|
11
11
|
|
|
12
|
-
# Getting Started
|
|
12
|
+
# 🚀 Getting Started
|
|
13
13
|
|
|
14
|
-
## Installation
|
|
14
|
+
## 📦 Installation
|
|
15
15
|
|
|
16
16
|
Qlue-ls is available on [crate.io](https://crates.io/crates/qlue-ls):
|
|
17
17
|
|
|
@@ -33,15 +33,15 @@ cd Qlue-ls
|
|
|
33
33
|
cargo build --release --bin qlue-ls
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
## Usage
|
|
36
|
+
## CLI Usage
|
|
37
37
|
|
|
38
|
-
To run
|
|
38
|
+
To run Qlue-ls as **formatter** run:
|
|
39
39
|
|
|
40
40
|
```shell
|
|
41
41
|
qlue-ls format <PATH>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
To run
|
|
44
|
+
To run Qlue-ls as **language server** run:
|
|
45
45
|
|
|
46
46
|
```shell
|
|
47
47
|
qlue-ls server
|
|
@@ -49,13 +49,13 @@ qlue-ls server
|
|
|
49
49
|
|
|
50
50
|
This will create a language server listening on stdio.
|
|
51
51
|
|
|
52
|
-
##
|
|
52
|
+
## with Neovim
|
|
53
53
|
|
|
54
54
|
After you installed the language server, add this to your `init.lua`:
|
|
55
55
|
|
|
56
56
|
```lua
|
|
57
57
|
vim.api.nvim_create_autocmd({ 'FileType' }, {
|
|
58
|
-
desc = 'Connect to
|
|
58
|
+
desc = 'Connect to Qlue-ls',
|
|
59
59
|
pattern = { 'sparql' },
|
|
60
60
|
callback = function()
|
|
61
61
|
vim.lsp.start {
|
|
@@ -78,53 +78,53 @@ Open a `.rq` file and check that the buffer is attached to th server:
|
|
|
78
78
|
|
|
79
79
|
Configure keymaps in `on_attach` function.
|
|
80
80
|
|
|
81
|
-
# Capabilities
|
|
81
|
+
# 🚀 Capabilities
|
|
82
82
|
|
|
83
|
-
## Formatting
|
|
83
|
+
## 📐 Formatting
|
|
84
84
|
|
|
85
85
|
**Status**: Full support
|
|
86
86
|
|
|
87
87
|
Formats SPARQL queries to ensure consistent and readable syntax.
|
|
88
88
|
Customizable options to align with preferred query styles are also implemented.
|
|
89
89
|
|
|
90
|
-
## Diagnostics
|
|
90
|
+
## 🩺 Diagnostics
|
|
91
91
|
|
|
92
92
|
**Status**: Partial support
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
Further enhancements are planned to cover a broader range of semantic and logic-related diagnostics.
|
|
94
|
+
** provided diagnostics**:
|
|
96
95
|
|
|
97
|
-
|
|
96
|
+
| Type | Name | Description |
|
|
97
|
+
|:------------|:-----------------|:------------------------------|
|
|
98
|
+
| ❌ error | undefined prefix | a used prefix is not declared |
|
|
99
|
+
| ⚠️ warning | unused prefix | a declared prefix is not used |
|
|
100
|
+
| ℹ️ info | uncompacted uri | a raw uncompacted uri is used |
|
|
98
101
|
|
|
99
|
-
|
|
100
|
-
- undefined namespace (error): A used namespace is not declared
|
|
102
|
+
## ✨ Completion
|
|
101
103
|
|
|
102
|
-
**
|
|
103
|
-
|
|
104
|
-
- path compresion possible (info): A declared namespace is not used
|
|
105
|
-
|
|
106
|
-
## Completion
|
|
107
|
-
|
|
108
|
-
**Status**: Rudimentary
|
|
104
|
+
**Status**: Partial support
|
|
109
105
|
|
|
110
|
-
|
|
111
|
-
Future improvements will expand suggestions to include functions, predicates, and custom completions based on query context.
|
|
106
|
+
I split auto-completion into 3 stages:
|
|
112
107
|
|
|
113
|
-
|
|
108
|
+
1. Static (Keywords, constructs, ...)
|
|
109
|
+
2. Dynamic offline (local defined variables)
|
|
110
|
+
3. Dynamic online (with data from a knowledge-graph)
|
|
114
111
|
|
|
115
|
-
|
|
112
|
+
The implementation is in Stage 1.5.
|
|
113
|
+
Static completion is done, dynamic offline completion is in development.
|
|
116
114
|
|
|
117
|
-
|
|
115
|
+
## 🛠️ Code Actions
|
|
118
116
|
|
|
119
|
-
**
|
|
117
|
+
**Status**: Partial support
|
|
120
118
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
| name | description | diagnostic |
|
|
120
|
+
|:------------------|:--------------------------------------|:------------------|
|
|
121
|
+
| shorten uri | shorten uri into compacted form | uncompacted uri |
|
|
122
|
+
| declare prefix | declares undeclared prefix (if known) | undeclared prefix |
|
|
123
|
+
| shorten all uri's | shorten all uri's into compacted form | |
|
|
124
124
|
|
|
125
|
-
# Configuration
|
|
125
|
+
# ⚙️ Configuration
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
Qlue-ls can be configured through a `qlue-ls.toml` or `qlue-ls.yml` file.
|
|
128
128
|
|
|
129
129
|
Here is the full default configuration
|
|
130
130
|
```toml
|
|
@@ -138,10 +138,10 @@ tab_size = 2
|
|
|
138
138
|
where_new_line = false
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
# use in web
|
|
141
|
+
# 🌐 use in web
|
|
142
142
|
|
|
143
143
|
If you want to connect from a web-based-editor, you can use this package as well.
|
|
144
|
-
For this
|
|
144
|
+
For this purpose this can be compiled to wasm and is available on [npm](https://www.npmjs.com/package/@ioannisnezis/sparql-language-server):
|
|
145
145
|
|
|
146
146
|
|
|
147
147
|
```shell
|
|
@@ -151,7 +151,7 @@ npm i qlue-ls
|
|
|
151
151
|
You will have to wrap this in a Web Worker and provide a language server client.
|
|
152
152
|
There will be more documentation on this in the future...
|
|
153
153
|
|
|
154
|
-
# Special Thanks
|
|
154
|
+
# 🙏 Special Thanks
|
|
155
155
|
|
|
156
156
|
* [TJ DeVries](https://github.com/tjdevries) for the inspiration and great tutorials
|
|
157
157
|
* [Chris Biscardi](https://github.com/christopherbiscardi) for teaching me Rust
|
package/package.json
CHANGED
package/qlue_ls_bg.js
CHANGED
|
@@ -344,7 +344,7 @@ export function __wbindgen_cb_drop(arg0) {
|
|
|
344
344
|
return ret;
|
|
345
345
|
};
|
|
346
346
|
|
|
347
|
-
export function
|
|
347
|
+
export function __wbindgen_closure_wrapper1022(arg0, arg1, arg2) {
|
|
348
348
|
const ret = makeMutClosure(arg0, arg1, 237, __wbg_adapter_22);
|
|
349
349
|
return ret;
|
|
350
350
|
};
|
package/qlue_ls_bg.wasm
CHANGED
|
Binary file
|