From b9d2493f19cd5efc182a547ff8713a0374b232f0 Mon Sep 17 00:00:00 2001 From: Guillaume Fossier Date: Sun, 16 Aug 2026 15:41:42 +0200 Subject: [PATCH] fix Windows path separator handling --- .../src/virtualenv/PythonEnvironment.test.ts | 10 ++++++++++ .../pyright-scip/src/virtualenv/PythonEnvironment.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts diff --git a/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts b/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts new file mode 100644 index 000000000..40c7db90f --- /dev/null +++ b/packages/pyright-scip/src/virtualenv/PythonEnvironment.test.ts @@ -0,0 +1,10 @@ +import PythonEnvironment from './PythonEnvironment'; +import PythonPackage from './PythonPackage'; + +test('resolves module paths with Windows and POSIX separators', () => { + const packageInfo = new PythonPackage('example', '1.0.0', ['example\\windows.py', 'example/posix.py']); + const environment = new PythonEnvironment(new Set(packageInfo.files), '1.0.0', [packageInfo]); + + expect(environment.getPackageForModule('example.windows')).toBe(packageInfo); + expect(environment.getPackageForModule('example.posix')).toBe(packageInfo); +}); diff --git a/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts b/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts index 0220ea1ed..e32d18b29 100644 --- a/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts +++ b/packages/pyright-scip/src/virtualenv/PythonEnvironment.ts @@ -1,7 +1,7 @@ import * as path from 'path'; import PythonPackage from './PythonPackage'; -const pathSepRegex = new RegExp(path.sep, 'g'); +const pathSepRegex = /[\\/]/g; export default class PythonEnvironment { /// Maps a module name (x.y.z) to an index in this.packages