serena icon indicating copy to clipboard operation
serena copied to clipboard

Add Nim-lang support via nim-langserver

Open a5m0 opened this issue 3 months ago • 1 comments

Summary

  • Implement a NimLanguageServer class that handles downloading/installing nimlangserver, 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)

a5m0 avatar Oct 07 '25 21:10 a5m0

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.

a5m0 avatar Oct 12 '25 15:10 a5m0