ludic/changes/lsp-navigation.md
Orkuncakilkaya f92d7f89c6 feat(tooling): JetBrains IDE support, LSP navigation, barrel imports, package scripts and hooks
- JetBrains plugin 1.4.0: semantic colours (builtin / vendor / own), template strings,
  brace handling, run configurations and a test console, package.ludic and
  package.lock.ludic editing (completion, docs, app preview, colour previews, asset
  navigation), External Libraries for the runtime and packages, doc pages for built-ins
- ludic-lsp: go to definition for imports, document links, hover with inferred types,
  type definition, signature help with parameters, docs from docs/language
- `import "dir"` resolves a barrel `dir/index.ludic`
- package.ludic `entry`, `script` and `hook before|after <command>`; `ludic <script>`,
  `ludic script`, `ludic scripts`
- `ludic test --verbose` and `--test NAME`; the test runner filters by name

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 16:13:31 +03:00

908 B

bump: minor type: feat ludic-lsp navigates like the compiler resolves:

  • Package imports (import "ludic.render3d/r3d.ludic") resolve from ludic_modules/ and the toolchain's packages/, so their names hover, complete and jump. Import strings are links.
  • var locals are tracked (declaration, usages, rename).
  • Hover shows the declared or inferred type of locals, parameters and globals.
  • Hover and go-to-definition on built-ins, built-in types and namespaces show the reference page, with a link to the online docs. Release archives now ship docs/language for this.
  • Go to type declaration (textDocument/typeDefinition) is supported.
  • Signature help carries per-parameter ranges and follows named arguments.
  • Completion inside a call offers the parameter names not given yet, Namespace. offers its members, and results are ranked: locals first, then globals, built-ins and keywords.