From 9c3114de15bfd8096833ee50aab131459347e3f7 Mon Sep 17 00:00:00 2001 From: AlexHaxe Date: Sat, 17 Aug 2024 01:24:12 +0200 Subject: [PATCH] Fix spawn sync (#130) * added shell=true parameter to spawnSync calls * fixed watched file events from appending log entries when not enabled, fixes vshaxe/vshaxe#636 --- .../features/haxe/DiagnosticsFeature.hx | 2 +- src/haxeLanguageServer/server/HaxeServer.hx | 2 +- src/haxeLanguageServer/server/ServerRecording.hx | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/haxeLanguageServer/features/haxe/DiagnosticsFeature.hx b/src/haxeLanguageServer/features/haxe/DiagnosticsFeature.hx index 87e8bab2..99f481ba 100644 --- a/src/haxeLanguageServer/features/haxe/DiagnosticsFeature.hx +++ b/src/haxeLanguageServer/features/haxe/DiagnosticsFeature.hx @@ -51,7 +51,7 @@ class DiagnosticsFeature { } timerName = useJsonRpc ? DisplayMethods.Diagnostics : "@diagnostics"; - ChildProcess.exec(context.config.haxelib.executable + " config", (error, stdout, stderr) -> haxelibPath = new FsPath(stdout.trim())); + ChildProcess.exec(context.config.haxelib.executable + " config", {shell: true}, (error, stdout, stderr) -> haxelibPath = new FsPath(stdout.trim())); context.languageServerProtocol.onNotification(LanguageServerMethods.RunGlobalDiagnostics, onRunGlobalDiagnostics); } diff --git a/src/haxeLanguageServer/server/HaxeServer.hx b/src/haxeLanguageServer/server/HaxeServer.hx index 2e70cc5a..e8f06284 100644 --- a/src/haxeLanguageServer/server/HaxeServer.hx +++ b/src/haxeLanguageServer/server/HaxeServer.hx @@ -116,7 +116,7 @@ class HaxeServer { mergeEnvs(js.Node.process.env, env); mergeEnvs(config.env, env); - final spawnOptions = {env: env, cwd: context.workspacePath.toString()}; + final spawnOptions = {env: env, cwd: context.workspacePath.toString(), shell: true}; if (!checkHaxeVersion(config.path, spawnOptions)) { return; diff --git a/src/haxeLanguageServer/server/ServerRecording.hx b/src/haxeLanguageServer/server/ServerRecording.hx index 8e57f58c..122cd03f 100644 --- a/src/haxeLanguageServer/server/ServerRecording.hx +++ b/src/haxeLanguageServer/server/ServerRecording.hx @@ -2,14 +2,14 @@ package haxeLanguageServer.server; import haxe.Json; import haxe.io.Path; +import haxeLanguageServer.Configuration.ServerRecordingConfig; +import haxeLanguageServer.helper.FsHelper; +import haxeLanguageServer.server.ServerRecordingTools.getVcsState; import jsonrpc.CancellationToken; import jsonrpc.ResponseError; +import sys.FileSystem; import sys.io.File; import sys.io.FileOutput; -import sys.FileSystem; -import haxeLanguageServer.Configuration.ServerRecordingConfig; -import haxeLanguageServer.helper.FsHelper; -import haxeLanguageServer.server.ServerRecordingTools.getVcsState; using StringTools; using haxeLanguageServer.helper.StringHelper; @@ -170,6 +170,9 @@ class ServerRecording { } public function onFileEvent(event:FileEvent):Void { + if (!enabled) + return; + final kind = switch (event.type) { case Changed: "fileChanged"; case Created: "fileCreated";