@@ -2,18 +2,17 @@ package handler
2
2
3
3
import (
4
4
"bytes"
5
- "context"
6
- "encoding/json"
7
- "log"
8
5
"strings"
9
6
"time"
10
7
11
8
"github.com/arduino/arduino-cli/arduino/libraries"
12
9
"github.com/arduino/arduino-cli/executils"
13
- "github.com/arduino/arduino-language-server/lsp"
14
10
"github.com/arduino/arduino-language-server/streams"
15
11
"github.com/arduino/go-paths-helper"
12
+ "github.com/fatih/color"
16
13
"github.com/pkg/errors"
14
+ "go.bug.st/json"
15
+ "go.bug.st/lsp"
17
16
)
18
17
19
18
func (handler * InoHandler ) scheduleRebuildEnvironment () {
@@ -25,6 +24,7 @@ func (handler *InoHandler) scheduleRebuildEnvironment() {
25
24
26
25
func (handler * InoHandler ) rebuildEnvironmentLoop () {
27
26
defer streams .CatchAndLogPanic ()
27
+ logger := streams .NewPrefixLogger (color .New (color .FgHiMagenta ), "RBLD---" )
28
28
29
29
grabDeadline := func () * time.Time {
30
30
handler .rebuildSketchDeadlineMutex .Lock ()
@@ -68,24 +68,24 @@ func (handler *InoHandler) rebuildEnvironmentLoop() {
68
68
case <- time .After (time .Millisecond * 400 ):
69
69
msg := "compiling" + dots [count % 3 ]
70
70
count ++
71
- handler .progressHandler .Report ("arduinoLanguageServerRebuild" , & lsp.WorkDoneProgressReport {Message : & msg })
71
+ handler .progressHandler .Report ("arduinoLanguageServerRebuild" , & lsp.WorkDoneProgressReport {Message : msg })
72
72
case <- done :
73
73
msg := "done"
74
- handler .progressHandler .End ("arduinoLanguageServerRebuild" , & lsp.WorkDoneProgressEnd {Message : & msg })
74
+ handler .progressHandler .End ("arduinoLanguageServerRebuild" , & lsp.WorkDoneProgressEnd {Message : msg })
75
75
return
76
76
}
77
77
}
78
78
}()
79
79
80
- handler .dataLock ( "RBLD---" )
81
- handler .initializeWorkbench (context . Background () , nil )
82
- handler .dataUnlock ( "RBLD---" )
80
+ handler .writeLock ( logger , false )
81
+ handler .initializeWorkbench (logger , nil )
82
+ handler .writeUnlock ( logger )
83
83
done <- true
84
84
close (done )
85
85
}
86
86
}
87
87
88
- func (handler * InoHandler ) generateBuildEnvironment (buildPath * paths.Path ) error {
88
+ func (handler * InoHandler ) generateBuildEnvironment (logger streams. PrefixLogger , buildPath * paths.Path ) error {
89
89
sketchDir := handler .sketchRoot
90
90
fqbn := handler .config .SelectedBoard .Fqbn
91
91
@@ -130,7 +130,7 @@ func (handler *InoHandler) generateBuildEnvironment(buildPath *paths.Path) error
130
130
cmdOutput := & bytes.Buffer {}
131
131
cmd .RedirectStdoutTo (cmdOutput )
132
132
cmd .SetDirFromPath (sketchDir )
133
- log . Println ("running: " , strings .Join (args , " " ))
133
+ logger ("running: %s " , strings .Join (args , " " ))
134
134
if err := cmd .Run (); err != nil {
135
135
return errors .Errorf ("running %s: %s" , strings .Join (args , " " ), err )
136
136
}
@@ -150,7 +150,7 @@ func (handler *InoHandler) generateBuildEnvironment(buildPath *paths.Path) error
150
150
if err := json .Unmarshal (cmdOutput .Bytes (), & res ); err != nil {
151
151
return errors .Errorf ("parsing arduino-cli output: %s" , err )
152
152
}
153
- log . Println ("arduino-cli output:" , cmdOutput )
153
+ logger ("arduino-cli output: %s " , cmdOutput )
154
154
155
155
return nil
156
156
}
0 commit comments