The lib/ directory was being ignored by the root .gitignore Python packaging rule.
This caused CI failures because test files like models.ex, services.ex, etc. were
missing from the repository.
- Add exception to .gitignore for test/resources/repos/elixir/test_repo/lib
- Add all missing Elixir source files:
- examples.ex (example functions and data structures)
- models.ex (User struct and related functions)
- services.ex (UserService module)
- test_repo.ex (main module)
- utils.ex (utility functions)
- ignored_dir/ignored_module.ex (for testing directory filtering)
These files are essential for Elixir language server tests to function properly.
Address PR #261 feedback by implementing proper runtime dependency management:
- Add runtime_dependencies.json with platform-specific Next LS binaries
- Implement setupRuntimeDependencies() method following EclipseJDTLS pattern
- Download and manage Next LS binaries in static directory for reproducible results
- Remove CI-based Next LS installation in favor of managed dependencies
- Support Linux, macOS (x64/ARM64), and Windows platforms
- Automatically handle binary permissions and executable naming
- Ensure fixed Next LS v0.23.3 version for all users
This approach provides better version control, reproducibility, and follows
the established pattern used by other language servers in the project.
Co-authored-by: opcode81 <opcode81@users.noreply.github.com>
- Install Next LS v0.23.3 binary for all platforms (Linux, macOS, Windows)
- Download platform-specific binaries from GitHub releases
- Add binaries to PATH for use in Elixir language server tests
- Ensures Next LS is available for optimal Elixir test performance
- Resolves CI dependency requirements for Elixir language server integration
- Add Elixir/Erlang setup to pytest.yml using erlef/setup-beam@v1
- Configure Elixir 1.18.4 and OTP 26.1 for CI compatibility
- Fix codespell false positive for '*cripts' glob pattern with ignore comment
- Resolves CI test failures for Elixir language server integration
Now when the language server starts, the initialisation will scan for solution or project files, and then pass them to the language server instructing it to open them. Which in-turn should give us all the nice context since the code is actually being 'loaded' up properly now.
Normalize all paths to use forward slashes instead of backslashes to prevent
JSON parsing errors when Windows paths contain unescaped backslashes.
This affects PathUtils.uri_to_path() and PathUtils.get_relative_path().
Fixes JSONDecodeError: Invalid \escape and Expecting value errors in C# tests on Windows.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>