feat: Add Nim language server support via nimlangserver#1150
feat: Add Nim language server support via nimlangserver#1150zerone0x wants to merge 1 commit intooraios:mainfrom
Conversation
Adds support for Nim programming language using nimlangserver (https://github.com/nim-lang/langserver). - Add NimLanguageServer class in src/solidlsp/language_servers/nim_language_server.py - Register Language.NIM enum value with .nim and .nims file matchers - Add NIM to the language server factory - Create test repository with calculator and utils modules - Add basic integration tests for symbol finding and cross-file references - Update README.md, docs, CHANGELOG.md Resolves oraios#645 Co-Authored-By: Claude <noreply@anthropic.com>
Sure, thanks for reminding. |
|
Thanks for pointing this out! I wasn't aware of #658. Looking at it, that PR is significantly more comprehensive (handles nimlangserver installation, config files, tests, etc.). Happy to close this one in favor of #658 — let me know if there's anything from my implementation that would be useful to incorporate there. |
I would prefer if you could analyze this by comparing your PR to the one there. I feel like the author might have forgotten about it, so maybe it's worth it to branch off there, address the few minor remaining issues and merge. I am neither a nim expert nor do I have time now to carefully go through the differences between there and here, sry about that |
Summary
Adds support for the Nim programming language using nimlangserver, resolving #645.
Changes
src/solidlsp/language_servers/nim_language_server.pyNimLanguageServerclass usingnimlangserverexecutablenimlangserveravailability with a helpful error message on failureLanguage.NIM = "nim"to the enum inls_config.pywith.nimand.nimsfile matchers and factory integrationtest/resources/repos/nim/test_repo/src/calculator.nim: Arithmetic procedures (add, subtract, multiply, divide, factorial, power)src/utils.nim: String utilities (trim, startsWith, endsWith, split, join)main.nim: Entry point referencing both modulestest_repo.nimble: Project filetest/solidlsp/nim/test_nim_basic.pycalculator.addandutils.trimnimlangserveris not installedInstallation
Nim can be installed from https://nim-lang.org/install.html
Testing
Tests are skipped automatically when
nimlangserveris not installed: