From 46bc1bdf87620d881894bc867c7926989cd0d3be Mon Sep 17 00:00:00 2001 From: Ludovic Pouey Date: Sun, 28 Jul 2024 16:01:11 +0200 Subject: [PATCH 1/2] fix escape characters being forcefully inserted when calling 'zig env', breaking zig.nvim on neovim load --- ftplugin/zig.vim | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ftplugin/zig.vim b/ftplugin/zig.vim index b7e419c..2ab3141 100644 --- a/ftplugin/zig.vim +++ b/ftplugin/zig.vim @@ -36,10 +36,17 @@ endif let &l:define='\v(|||^\s*\#\s*define)' if !exists('g:zig_std_dir') && exists('*json_decode') && executable('zig') - silent let s:env = system('zig env') - if v:shell_error == 0 - let g:zig_std_dir = json_decode(s:env)['std_dir'] + let s:env = system('zig env --plain') + if s:env !~ '^{' + " Remove any leading garbage which might be forcefully inserted by the shell + let s:env = substitute(s:env, '[^{]*\({.*}\)[^}]*', '\1', '') endif + try + let g:zig_std_dir = json_decode(s:env)['std_dir'] + catch + echom "Error parsing Zig env output: " . v:exception + echom "Cleaned output: " . s:env + endtry unlet! s:env endif From 5dc15512061d4950c34b6e50c972f8624ca15875 Mon Sep 17 00:00:00 2001 From: Ludovic Pouey Date: Sun, 28 Jul 2024 16:06:31 +0200 Subject: [PATCH 2/2] dropped unnecessary echom --- ftplugin/zig.vim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ftplugin/zig.vim b/ftplugin/zig.vim index 2ab3141..647c77e 100644 --- a/ftplugin/zig.vim +++ b/ftplugin/zig.vim @@ -44,8 +44,7 @@ if !exists('g:zig_std_dir') && exists('*json_decode') && executable('zig') try let g:zig_std_dir = json_decode(s:env)['std_dir'] catch - echom "Error parsing Zig env output: " . v:exception - echom "Cleaned output: " . s:env + echom "Error parsing zig env output: " . v:exception endtry unlet! s:env endif