@@ -83,32 +83,20 @@ local function lualib_installed(lib_name)
8383 return res
8484end
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
10489local 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
113101end
114102
0 commit comments