@@ -1326,6 +1326,7 @@ func (ls *INOLanguageServer) CleanUp() {
1326
1326
}
1327
1327
1328
1328
func (ls * INOLanguageServer ) extractDataFolderFromArduinoCLI (logger jsonrpc.FunctionLogger ) (* paths.Path , error ) {
1329
+ var dataDir string
1329
1330
if ls .config .CliPath == nil {
1330
1331
// Establish a connection with the arduino-cli gRPC server
1331
1332
conn , err := grpc .Dial (ls .config .CliDaemonAddress , grpc .WithInsecure (), grpc .WithBlock ())
@@ -1341,12 +1342,10 @@ func (ls *INOLanguageServer) extractDataFolderFromArduinoCLI(logger jsonrpc.Func
1341
1342
if err != nil {
1342
1343
return nil , fmt .Errorf ("error getting arduino data dir: %w" , err )
1343
1344
}
1344
- var dataDir string
1345
1345
if err := json .Unmarshal ([]byte (resp .JsonData ), & dataDir ); err != nil {
1346
1346
return nil , fmt .Errorf ("error getting arduino data dir: %w" , err )
1347
1347
}
1348
1348
logger .Logf ("Arduino Data Dir -> %s" , dataDir )
1349
- return paths .New (dataDir ), nil
1350
1349
} else {
1351
1350
args := []string {ls .config .CliPath .String (),
1352
1351
"--config-file" , ls .config .CliConfigPath .String (),
@@ -1376,8 +1375,11 @@ func (ls *INOLanguageServer) extractDataFolderFromArduinoCLI(logger jsonrpc.Func
1376
1375
}
1377
1376
// Return only the build path
1378
1377
logger .Logf ("Arduino Data Dir -> %s" , res .Directories .Data )
1379
- return paths . New ( res .Directories .Data ), nil
1378
+ dataDir = res .Directories .Data
1380
1379
}
1380
+
1381
+ dataDirPath := paths .New (dataDir )
1382
+ return dataDirPath .Canonical (), nil
1381
1383
}
1382
1384
1383
1385
func (ls * INOLanguageServer ) clang2IdeCodeAction (logger jsonrpc.FunctionLogger , clangCodeAction lsp.CodeAction , origIdeURI lsp.DocumentURI ) * lsp.CodeAction {
0 commit comments