@@ -18,9 +18,11 @@ package debug
18
18
import (
19
19
"context"
20
20
"encoding/json"
21
+ "errors"
21
22
"os"
22
23
"os/signal"
23
24
25
+ "github.com/arduino/arduino-cli/arduino"
24
26
"github.com/arduino/arduino-cli/commands/debug"
25
27
"github.com/arduino/arduino-cli/commands/sketch"
26
28
"github.com/arduino/arduino-cli/i18n"
@@ -93,7 +95,11 @@ func runDebugCommand(command *cobra.Command, args []string) {
93
95
if printInfo {
94
96
95
97
if res , err := debug .GetDebugConfig (context .Background (), debugConfigRequested ); err != nil {
96
- feedback .Fatal (tr ("Error getting Debug info: %v" , err ), feedback .ErrBadArgument )
98
+ errcode := feedback .ErrBadArgument
99
+ if errors .Is (err , & arduino.MissingProgrammerError {}) {
100
+ errcode = feedback .ErrMissingProgrammer
101
+ }
102
+ feedback .Fatal (tr ("Error getting Debug info: %v" , err ), errcode )
97
103
} else {
98
104
feedback .PrintResult (newDebugInfoResult (res ))
99
105
}
@@ -109,7 +115,11 @@ func runDebugCommand(command *cobra.Command, args []string) {
109
115
feedback .FatalError (err , feedback .ErrBadArgument )
110
116
}
111
117
if _ , err := debug .Debug (context .Background (), debugConfigRequested , in , out , ctrlc ); err != nil {
112
- feedback .Fatal (tr ("Error during Debug: %v" , err ), feedback .ErrGeneric )
118
+ errcode := feedback .ErrGeneric
119
+ if errors .Is (err , & arduino.MissingProgrammerError {}) {
120
+ errcode = feedback .ErrMissingProgrammer
121
+ }
122
+ feedback .Fatal (tr ("Error during Debug: %v" , err ), errcode )
113
123
}
114
124
115
125
}
0 commit comments