Skip to content

feat: add JetBrains IDE support via TextMate bundle and LSP4IJ 🧩#177

Merged
timfennis merged 2 commits into
masterfrom
feature/jetbrains-support
Jul 7, 2026
Merged

feat: add JetBrains IDE support via TextMate bundle and LSP4IJ 🧩#177
timfennis merged 2 commits into
masterfrom
feature/jetbrains-support

Conversation

@timfennis

@timfennis timfennis commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Why

.ndc files had no editor support in JetBrains IDEs (RustRover). Prompted by wanting syntax highlighting in RustRover while reusing the existing ndc lsp server instead of writing a native IntelliJ plugin.

What

  • Syntax highlighting — no new grammar: JetBrains' bundled TextMate Bundles plugin imports the existing VS Code extension directory (ext/andy-cpp) directly. The grammar gains three small additions while here: complex literals (3i, 2.5j), #! shebang comments, and ? in function definition names (fn square?).
  • ext/lsp4ij-ndc/template.json — LSP4IJ config that launches ndc lsp --stdio for *.ndc files, giving diagnostics, hover, completion, inlay hints, and go-to-definition from the existing LSP server.
  • Docs — setup instructions added to the manual's editor-support page; README links there from a new "JetBrains IDEs" section.

Notes for reviewers

  • An earlier revision added a standalone grammar under ext/textmate-ndc; it was removed in favour of reusing ext/andy-cpp so there is a single grammar to maintain.
  • The grammar changes are additive; the published VS Code extension will pick them up on its next release.

🤖 PR description created by Claude

timfennis and others added 2 commits July 7, 2026 15:02
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…it ♻️

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@timfennis timfennis merged commit 6e276f2 into master Jul 7, 2026
1 check passed
@timfennis timfennis deleted the feature/jetbrains-support branch July 7, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant