You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .cursor/skills/ion-lsp-vscode/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ Adjust path for OS (no `.exe` on Linux/macOS).
64
64
`src/lsp/server.rs` implements `tower_lsp::LanguageServer`. In `check_file`:
65
65
66
66
1. On `did_open` / `did_change` - **lexer → parser** on the in-memory buffer (unsaved edits included; does not re-read the file from disk)
67
-
2.**`Compiler::load_imports`** - per-import `parse_module` on disk with `build::discover_import_config` (same stdlib paths as `ion-build` when `ion.toml` or `ION_STDLIB` is set); failed imports publish diagnostics at the `import` span while successful imports still register exports
67
+
2.**`Compiler::load_imports`** - per-import `parse_module` on disk with `build::discover_import_config` (same stdlib search order as `ion-build`, including walk-up `stdlib/` and install-relative paths); failed imports publish diagnostics at the `import` span while successful imports still register exports
68
68
3.**Type-check** - `tc::TypeChecker::check_program_collecting_with_source` on merged program, symbols seeded from buffer AST (`check_program_collecting` for unit tests)
69
69
4. Publish diagnostics from lexer, parser, import resolution, or type-check errors
70
70
5.**Hover** - expression types, symbol docs, builtin signatures
`ion-lsp` is built with the release command above; point the editor extension at `target/release/ion-lsp` (see README IDE Support).
22
22
23
+
CI (`.github/workflows/ci.yml`) builds all three binaries on Linux; the Windows job builds `ion-compiler` and `ion-build` only. Build `ion-lsp` locally for IDE work.
Copy file name to clipboardExpand all lines: ION_SPEC.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1219,7 +1219,7 @@ Manifest discovery walks upward from the current directory for a file named `ion
1219
1219
3.`{project_root}/stdlib`
1220
1220
4. Install-relative `stdlib/` next to the compiler executable (walking up)
1221
1221
1222
-
File-relative imports (`./`, `../`) and same-directory modules are resolved first. The CLI (`ion-compiler`, `ion-build`) and LSP use the same rules when `ion.toml`or `ION_STDLIB` is present.
1222
+
File-relative imports (`./`, `../`) and same-directory modules are resolved first. The CLI (`ion-compiler`, `ion-build`) and LSP share `build::discover_import_config` and the stdlib search order above (from `ion.toml`when present, otherwise by walking up for `stdlib/` and install-relative paths next to the executable).
1223
1223
1224
1224
On Windows with MinGW, linking adds `-lws2_32` automatically (channels, spawn, sockets). Honor `CC` for the C compiler (same as `tests/test_runner.sh`).
-**Control flow**: `if`/`while` (bool conditions), `loop { }`, `for x in expr` over `Vec<T>`, `[T; N]`, or `String` (bytes as `u8`), `match` with guards, `defer`
20
+
-**Control flow**: `if`/`while` (bool conditions), `loop { }`, `break`/`continue`, `for x in expr` over `Vec<T>`, `[T; N]`, or `String` (bytes as `u8`), `match` with guards, `defer`
21
21
-**Concurrency**: `channel<T>()` returns `(Sender<T>, Receiver<T>)`; `send(&tx, v)` and `recv(&mut rx)`; `spawn { ... }` with structural `Send`
22
22
-**FFI**: `extern "C"` blocks, raw pointers `*T`, calls require `unsafe`
23
23
-**Stdlib**: `stdlib/io.ion`, `stdlib/fmt.ion`, `stdlib/fs.ion`, and `stdlib/result.ion`
@@ -30,6 +30,7 @@ Known limitations: [ION_SPEC.md section 10.3](ION_SPEC.md#103-known-limitations)
30
30
|----------|----------|
31
31
|[ION_SPEC.md](ION_SPEC.md)| Language semantics, grammar, stdlib contracts |
32
32
|[CONTRIBUTING.md](CONTRIBUTING.md)| Build, test, lint, and PR expectations |
33
+
|[CHANGELOG.md](CHANGELOG.md)| Release notes by month |
33
34
|[tests/README.md](tests/README.md)| Integration test catalog |
34
35
|[examples/](examples/)| Runnable example programs |
- Workspace refresh when watched `.ion` dependencies change on disk
71
+
72
+
Full LSP feature list: [ION_SPEC.md section 10.2](ION_SPEC.md#102-language-server-lsp).
68
73
69
74
Limitations: built-in methods (`Vec::push`, etc.) and type names in annotations do not go to definition. Full list in [ION_SPEC.md section 10.3](ION_SPEC.md#103-known-limitations).
70
75
@@ -200,6 +205,8 @@ On Linux or macOS, use `./target/release/ion-build` and drop `.exe`. Windows cha
0 commit comments