@@ -156,7 +156,7 @@ procedure TInitialize.SetPlatformDefaults(CodeToolsOptions: TCodeToolsOptions);
156156
157157{ Find all sub directories which contain Pascal source files }
158158
159- function TInitialize.IsPasExt (Const aExtension: String): Boolean;
159+ function TInitialize.IsPasExt (const aExtension: String): Boolean;
160160var
161161 E : String;
162162begin
@@ -214,7 +214,7 @@ procedure TInitialize.FindPascalSourceDirectories(RootPath: String; Results: TSt
214214 exit;
215215
216216 havePas:=False;
217- if FindFirst(RootPath+ AllFilesMask, faAnyFile, Info) = 0 then
217+ if FindFirst(RootPath + AllFilesMask, faAnyFile, Info) = 0 then
218218 try
219219 repeat
220220 if ((Info.Attr and faDirectory) <> 0 ) and not ((Info.Name = ' .' ) or (Info.Name = ' ..' )) then
@@ -352,6 +352,15 @@ function TInitialize.CheckProgramSetting: Boolean;
352352end ;
353353
354354function TInitialize.Process (var Params : TLSPInitializeParams): TInitializeResult;
355+
356+ function EscapeFileName (const Name : String): String;
357+ begin
358+ if Pos(' ' , Name ) > 0 then
359+ Result := ' "' + Name + ' "'
360+ else
361+ Result := Name ;
362+ end ;
363+
355364var
356365 Proj, Option, aPath, ConfigPath: String;
357366 CodeToolsOptions: TCodeToolsOptions;
@@ -476,10 +485,10 @@ function TInitialize.Process(var Params : TLSPInitializeParams): TInitializeResu
476485 for aPath in WorkspacePaths do
477486 begin
478487 if ServerSettings.includeWorkspaceFoldersAsUnitPaths then
479- FPCOptions += [' -Fu' + ExpandFileName(aPath)];
488+ FPCOptions += [' -Fu' + EscapeFileName( ExpandFileName(aPath) )];
480489
481490 if ServerSettings.includeWorkspaceFoldersAsIncludePaths then
482- FPCOptions += [' -Fi' + ExpandFileName(aPath)];
491+ FPCOptions += [' -Fi' + EscapeFileName( ExpandFileName(aPath) )];
483492 end ;
484493
485494 CodeToolsOptions.FPCOptions := JoinString(FPCOptions, ' ' );
@@ -503,7 +512,7 @@ function TInitialize.Process(var Params : TLSPInitializeParams): TInitializeResu
503512 begin
504513 Init(CodeToolsOptions);
505514 IdentifierList.SortForHistory := True;
506- IdentifierList.SortMethodForCompletion:= icsScopedAlphabetic;
515+ IdentifierList.SortMethodForCompletion := icsScopedAlphabetic;
507516 end ;
508517
509518 Result.Capabilities.ApplySettings(ServerSettings);
@@ -594,9 +603,8 @@ procedure TServerCapabilitiesHelper.ApplySettings(settings: TServerSettings);
594603
595604function TLSPInitializeParams.createInitializationOptions : TInitializationOptions;
596605begin
597- Result:= TServerSettings.Create;
606+ result := TServerSettings.Create;
598607end ;
599608
600-
601609end .
602610
0 commit comments