serena
serena copied to clipboard
Add Nim-lang support via nim-langserver
Summary
- Implement a
NimLanguageServerclass that handles downloading/installingnimlangserver, sets up environment variables, writes auxiliary Nim/nimsuggest config files, and improves logging/readiness checks so the process starts reliably. - Wire the new server into Serena’s language registry and document official Nim support in the README and changelog.
- Provide pytest coverage plus a sample Nim project that exercises symbols, definitions, references, and completions, along with a dedicated nim pytest marker.
Testing
uv run pytest -m nim(passes locally)
Thank you for the feedback, I will work on all your suggestions. This pull request may have been a little premature, I have been using this implementation successfully but there are a lot of shortcomings with the nim-langserver that I'm not happy with and trying to work around rather than waiting for Nimony.