mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
Merge pull request #35546 from zeertzjq/vim-a07a2f4
vim-patch:a07a2f4: runtime(astro): catch json_decode() error when parsing tsconfig.json
(cherry picked from commit 8a2587be23
)
This commit is contained in:

committed by
github-actions[bot]
![github-actions[bot]](/assets/img/avatar_default.png)
parent
d70d469c04
commit
a2603016ce
@@ -3,6 +3,7 @@
|
|||||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||||
" Last Change: 2024 Apr 21
|
" Last Change: 2024 Apr 21
|
||||||
" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
" 2024 May 24 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||||
|
" 2025 Aug 29 by Vim project, add try/catch around json_decode(), #18141
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
@@ -52,13 +53,19 @@ function! s:CollectPathsFromConfig() abort
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let paths_from_config = config_json
|
try
|
||||||
|
let paths_from_config = config_json
|
||||||
\ ->readfile()
|
\ ->readfile()
|
||||||
\ ->filter({ _, val -> val =~ '^\s*[\[\]{}"0-9]' })
|
\ ->filter({ _, val -> val =~ '^\s*[\[\]{}"0-9]' })
|
||||||
\ ->join()
|
\ ->join()
|
||||||
\ ->json_decode()
|
\ ->json_decode()
|
||||||
\ ->get('compilerOptions', {})
|
\ ->get('compilerOptions', {})
|
||||||
\ ->get('paths', {})
|
\ ->get('paths', {})
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E491:/ " invalid json
|
||||||
|
let paths_from_config = {}
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E474:/ " invalid json in Nvim
|
||||||
|
let paths_from_config = {}
|
||||||
|
endtry
|
||||||
|
|
||||||
if !empty(paths_from_config)
|
if !empty(paths_from_config)
|
||||||
let b:astro_paths = paths_from_config
|
let b:astro_paths = paths_from_config
|
||||||
|
Reference in New Issue
Block a user