@@ -61,6 +61,9 @@ function! arduino#InitializeConfig() abort
61
61
if ! exists (' g:arduino_use_slime' )
62
62
let g: arduino_use_slime = 0
63
63
endif
64
+ if ! exists (' g:arduino_use_tmux' ) || ! exists (' $TMUX' )
65
+ let g: arduino_use_tmux = 0
66
+ endif
64
67
65
68
if ! exists (' g:arduino_run_headless' )
66
69
let g: arduino_run_headless = executable (' Xvfb' ) == 1
@@ -81,6 +84,16 @@ function! arduino#InitializeConfig() abort
81
84
call arduino#ReloadBoards ()
82
85
endfunction
83
86
87
+ function ! arduino#RunCmd (cmd) abort
88
+ if g: arduino_use_slime
89
+ call slime#send (a: cmd . " \r " )
90
+ elseif g: arduino_use_tmux
91
+ call VimuxRunCommand (a: cmd )
92
+ else
93
+ exe s: TERM . a: cmd
94
+ endif
95
+ endfunction
96
+
84
97
" Boards and programmer definitions {{{1
85
98
function ! arduino#ReloadBoards () abort
86
99
" TODO in the future if we're using arduino-cli we shouldn't have to do this,
@@ -517,11 +530,8 @@ function! arduino#Verify() abort
517
530
else
518
531
let cmd = arduino#GetArduinoCommand (" --verify" )
519
532
endif
520
- if g: arduino_use_slime
521
- call slime#send (cmd." \r " )
522
- else
523
- exe s: TERM . cmd
524
- endif
533
+
534
+ call arduino#RunCmd (cmd)
525
535
return v: shell_error
526
536
endfunction
527
537
@@ -536,22 +546,16 @@ function! arduino#Upload() abort
536
546
endif
537
547
let cmd = arduino#GetArduinoCommand (cmd_options)
538
548
endif
539
- if g: arduino_use_slime
540
- call slime#send (cmd." \r " )
541
- else
542
- exe s: TERM . cmd
543
- endif
549
+
550
+ call arduino#RunCmd (cmd)
544
551
return v: shell_error
545
552
endfunction
546
553
547
554
function ! arduino#Serial () abort
548
555
let cmd = arduino#GetSerialCmd ()
549
556
if empty (cmd) | return | endif
550
- if g: arduino_use_slime
551
- call slime#send (cmd." \r " )
552
- else
553
- exe s: TERM . cmd
554
- endif
557
+
558
+ call arduino#RunCmd (cmd)
555
559
endfunction
556
560
557
561
function ! arduino#UploadAndSerial () abort
0 commit comments