@formspec/language-server 0.1.0-alpha.17 → 0.1.0-alpha.19
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 +13 -78
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,96 +1,31 @@
|
|
|
1
1
|
# @formspec/language-server
|
|
2
2
|
|
|
3
|
-
Language
|
|
3
|
+
Language-server support for FormSpec TSDoc tags.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @formspec/language-server
|
|
9
|
-
# or
|
|
10
8
|
pnpm add @formspec/language-server
|
|
11
9
|
```
|
|
12
10
|
|
|
13
|
-
##
|
|
11
|
+
## Features
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
- completion items for FormSpec tags
|
|
14
|
+
- hover documentation for recognized tags
|
|
15
|
+
- go-to-definition support for known tags
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
// package.json
|
|
19
|
-
{
|
|
20
|
-
"type": "module"
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
// tsconfig.json
|
|
26
|
-
{
|
|
27
|
-
"compilerOptions": {
|
|
28
|
-
"module": "NodeNext",
|
|
29
|
-
"moduleResolution": "NodeNext"
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Overview
|
|
35
|
-
|
|
36
|
-
This package provides language server features for FormSpec's JSDoc constraint tags (`@Minimum`, `@Maximum`, `@Pattern`, etc.). It can be integrated into any LSP-compatible editor.
|
|
37
|
-
|
|
38
|
-
### Features
|
|
39
|
-
|
|
40
|
-
- **Completion** — Autocomplete for constraint tag names inside JSDoc comments
|
|
41
|
-
- **Hover** — Documentation on hover for constraint tags
|
|
42
|
-
- **Go to Definition** — Navigate to constraint definitions _(placeholder — not yet implemented)_
|
|
43
|
-
|
|
44
|
-
## API Reference
|
|
45
|
-
|
|
46
|
-
### Functions
|
|
47
|
-
|
|
48
|
-
| Function | Description |
|
|
49
|
-
| ------------------------- | ----------------------------------------------- |
|
|
50
|
-
| `createServer()` | Create a full LSP server connection |
|
|
51
|
-
| `getCompletionItems()` | Get completion items for constraint tags |
|
|
52
|
-
| `getDefinition()` | Get definition location for a constraint tag |
|
|
53
|
-
| `getHoverForTag(tagName)` | Get hover information for a constraint tag name |
|
|
54
|
-
|
|
55
|
-
### `createServer()`
|
|
56
|
-
|
|
57
|
-
Creates a Language Server Protocol connection that handles `initialize`, `textDocument/completion`, `textDocument/hover`, and `textDocument/definition` requests.
|
|
17
|
+
Diagnostics are intentionally handled elsewhere; this package focuses on editor assistance.
|
|
58
18
|
|
|
59
|
-
|
|
60
|
-
import { createServer } from "@formspec/language-server";
|
|
19
|
+
## Usage
|
|
61
20
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### `getCompletionItems()`
|
|
67
|
-
|
|
68
|
-
Returns completion items for all known FormSpec constraint tags.
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
import { getCompletionItems } from "@formspec/language-server";
|
|
72
|
-
|
|
73
|
-
const items = getCompletionItems();
|
|
74
|
-
// [{ label: "@Minimum", kind: CompletionItemKind.Keyword, ... }, ...]
|
|
75
|
-
```
|
|
21
|
+
```ts
|
|
22
|
+
import { createServer, getCompletionItems, getHoverForTag } from "@formspec/language-server";
|
|
76
23
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
```typescript
|
|
82
|
-
import { getHoverForTag } from "@formspec/language-server";
|
|
83
|
-
|
|
84
|
-
const hover = getHoverForTag("Minimum");
|
|
85
|
-
// { contents: { kind: "markdown", value: "..." } }
|
|
24
|
+
const server = createServer();
|
|
25
|
+
const completions = getCompletionItems();
|
|
26
|
+
const hover = getHoverForTag("minimum");
|
|
86
27
|
```
|
|
87
28
|
|
|
88
|
-
## Editor Integration
|
|
89
|
-
|
|
90
|
-
### VS Code
|
|
91
|
-
|
|
92
|
-
Use with a VS Code extension that connects to the language server. The server communicates over the standard LSP protocol via `vscode-languageserver/node.js`.
|
|
93
|
-
|
|
94
29
|
## License
|
|
95
30
|
|
|
96
31
|
UNLICENSED
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formspec/language-server",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.19",
|
|
4
4
|
"description": "Language server for FormSpec — completions, hover, and go-to-definition for JSDoc constraint tags",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"vscode-languageserver": "^9.0.1",
|
|
22
22
|
"vscode-languageserver-textdocument": "^1.0.12",
|
|
23
|
-
"@formspec/core": "0.1.0-alpha.
|
|
23
|
+
"@formspec/core": "0.1.0-alpha.19"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"vitest": "^3.0.0"
|