Skip to content

Commit 110cc94

Browse files
fix(resolve_import): fix version comparison when setting gg default flags (#56)
1 parent eff3374 commit 110cc94

File tree

2 files changed

+8
-20
lines changed

2 files changed

+8
-20
lines changed

lua/pymple/health.lua

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -83,32 +83,20 @@ local function lualib_installed(lib_name)
8383
return res
8484
end
8585

86-
local function compare_versions(version1, version2)
87-
local version1_parts = utils.split_string(version1, ".")
88-
local version2_parts = utils.split_string(version2, ".")
89-
for i, part in ipairs(version1_parts) do
90-
local part_num = tonumber(part)
91-
local other_part = tonumber(version2_parts[i]) or 0
92-
if part_num > other_part then
93-
return 1
94-
elseif part_num < other_part then
95-
return -1
96-
end
97-
end
98-
return 0
99-
end
100-
10186
---@param version string
10287
---@param min_version string | nil
10388
---@param max_version string | nil
10489
local function version_satisfies_constraint(version, min_version, max_version)
10590
if not min_version and not max_version then
10691
return true
10792
else
108-
min_version = min_version or "0"
93+
min_version = min_version or "0.0"
10994
max_version = max_version or "9999"
110-
return compare_versions(version, min_version) >= 0
111-
and compare_versions(version, max_version) <= 0
95+
local parsed_version = vim.version.parse(version)
96+
local parsed_min_version = vim.version.parse(min_version)
97+
local parsed_max_version = vim.version.parse(max_version)
98+
return vim.version.ge(parsed_version, parsed_min_version)
99+
and vim.version.le(parsed_version, parsed_max_version)
112100
end
113101
end
114102

lua/pymple/resolve_imports/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,9 @@ function M.resolve_python_import(symbol, current_file_path)
8989
if
9090
health.version_satisfies_constraint(PYMPLE_BINARIES["gg"], "0.5.3", nil)
9191
then
92-
gg_flags = "-fCHGAD -t pystrict -I "
93-
else
9492
gg_flags = "-fCHGA -t pystrict -I "
93+
else
94+
gg_flags = "-fCHGAD -t pystrict -I "
9595
end
9696
local gg_args = gg_flags
9797
.. current_file_path

0 commit comments

Comments
 (0)