Skip to content

Commit 6a12390

Browse files
committed
use a similarity map to try to resolve cmdline completely
1 parent cff4c84 commit 6a12390

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

programmer.go

+14
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/facchinm/go-serial"
1010
"github.com/mattn/go-shellwords"
1111
"github.com/sfreiberg/simplessh"
12+
"github.com/xrash/smetrics"
1213
"io"
1314
"mime/multipart"
1415
"net/http"
@@ -233,6 +234,19 @@ func spProgramLocal(portname string, boardname string, filePath string, commandl
233234
fmt.Println(runtimeVars)
234235

235236
for _, element := range runtimeVars {
237+
238+
// use string similarity to resolve a runtime var with a "similar" map element
239+
if globalToolsMap[element] == "" {
240+
max_similarity := 0.0
241+
for i, candidate := range globalToolsMap {
242+
similarity := smetrics.Jaro(element, i)
243+
if similarity > 0.8 && similarity > max_similarity {
244+
max_similarity = similarity
245+
globalToolsMap[element] = candidate
246+
}
247+
}
248+
}
249+
236250
commandline = strings.Replace(commandline, element, globalToolsMap[element], 1)
237251
}
238252

0 commit comments

Comments
 (0)