From a07a2f4c332bcf0f7fabf9be002027acf12c6801 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Fri, 29 Aug 2025 18:01:08 +0200 Subject: [PATCH] runtime(astro): catch json_decode() error when parsing tsconfig.json (which is jsonc filetype and there can contain comments) fixes: #18141 Signed-off-by: Christian Brabandt --- runtime/ftplugin/astro.vim | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/runtime/ftplugin/astro.vim b/runtime/ftplugin/astro.vim index 5d35ba9624..856b96f23b 100644 --- a/runtime/ftplugin/astro.vim +++ b/runtime/ftplugin/astro.vim @@ -3,6 +3,7 @@ " Maintainer: Romain Lafourcade " Last Change: 2024 Apr 21 " 2024 May 24 by Riley Bruins ('commentstring') +" 2025 Aug 29 by Vim project, add try/catch around json_decode(), #18141 if exists("b:did_ftplugin") finish @@ -52,13 +53,17 @@ function! s:CollectPathsFromConfig() abort endif endif - let paths_from_config = config_json + try + let paths_from_config = config_json \ ->readfile() \ ->filter({ _, val -> val =~ '^\s*[\[\]{}"0-9]' }) \ ->join() \ ->json_decode() \ ->get('compilerOptions', {}) \ ->get('paths', {}) + catch /^Vim\%((\a\+)\)\=:E491:/ " invalid json + let paths_from_config = {} + endtry if !empty(paths_from_config) let b:astro_paths = paths_from_config