Skip to content

Commit 7d59eef

Browse files
committed
fix: don't use python for json decoding
Not really sure what I was originally thinking. Maybe I forgot about json_decode?
1 parent 6bb4c41 commit 7d59eef

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

Diff for: autoload/arduino.vim

+3-8
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ endfunction
227227
function! arduino#GetBoards() abort
228228
let boards = []
229229
if g:arduino_use_cli
230-
let boards_data = s:get_json_output('arduino-cli board listall --format json')
230+
let boards_data = json_decode(system('arduino-cli board listall --format json'))
231231
for board in boards_data['boards']
232232
call add(boards, {
233233
\ 'label': board['name'],
@@ -271,7 +271,7 @@ endfunction
271271
function! arduino#GetBoardOptions(board) abort
272272
if g:arduino_use_cli
273273
let ret = []
274-
let data = s:get_json_output('arduino-cli board details ' . a:board . ' --format json')
274+
let data = json_decode(system('arduino-cli board details ' . a:board . ' --format json'))
275275
if !has_key(data, 'config_options')
276276
return ret
277277
endif
@@ -348,7 +348,7 @@ function! arduino#GetProgrammers() abort
348348
\ 'value': '',
349349
\}]
350350
if g:arduino_use_cli
351-
let data = s:get_json_output('arduino-cli board details ' . g:arduino_board . ' --list-programmers --format json')
351+
let data = json_decode(system('arduino-cli board details ' . g:arduino_board . ' --list-programmers --format json'))
352352
if has_key(data, 'programmers')
353353
for entry in data['programmers']
354354
call add(programmers, {
@@ -622,11 +622,6 @@ endfunction
622622

623623
" Utility functions {{{1
624624

625-
function! s:get_json_output(cmd) abort
626-
let output_str = system(a:cmd)
627-
return py3eval('json.loads(vim.eval("output_str"))')
628-
endfunction
629-
630625
function! s:CacheLine(lines, varname) abort
631626
if exists(a:varname)
632627
let value = eval(a:varname)

0 commit comments

Comments
 (0)