On Apple Silicon uname -m returns arm64 , therefore stridx(arch, 'arm') == 0 returns false. Change this to <= 2 and it should be fine (I think)
`
let is_arm = stridx(arch, 'arm') == 0 || stridx(arch, 'aarch64') == 0
if os ==# 'Linux' && is_arm
let bin_suffix = 'linux_arm'
elseif os ==# 'Linux'
let bin_suffix = 'linux_x64'
elseif os ==# 'Darwin' && is_arm
let bin_suffix = 'macos_arm'
elseif os ==# 'Darwin'
let bin_suffix = 'macos_x64'
else
let bin_suffix = 'windows_x64.exe'
endif
`
On Apple Silicon
uname -m
returnsarm64
, thereforestridx(arch, 'arm') == 0
returns false. Change this to <= 2 and it should be fine (I think) ` let is_arm = stridx(arch, 'arm') == 0 || stridx(arch, 'aarch64') == 0if os ==# 'Linux' && is_arm let bin_suffix = 'linux_arm' elseif os ==# 'Linux' let bin_suffix = 'linux_x64' elseif os ==# 'Darwin' && is_arm let bin_suffix = 'macos_arm' elseif os ==# 'Darwin' let bin_suffix = 'macos_x64' else let bin_suffix = 'windows_x64.exe' endif `