Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions src/serverprotocol/PasLS.General.pas
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ procedure TInitialize.SetPlatformDefaults(CodeToolsOptions: TCodeToolsOptions);

{ Find all sub directories which contain Pascal source files }

function TInitialize.IsPasExt(Const aExtension: String): Boolean;
function TInitialize.IsPasExt(const aExtension: String): Boolean;
var
E : String;
begin
Expand Down Expand Up @@ -214,7 +214,7 @@ procedure TInitialize.FindPascalSourceDirectories(RootPath: String; Results: TSt
exit;

havePas:=False;
if FindFirst(RootPath+AllFilesMask, faAnyFile, Info) = 0 then
if FindFirst(RootPath + AllFilesMask, faAnyFile, Info) = 0 then
try
repeat
if ((Info.Attr and faDirectory) <> 0) and not((Info.Name = '.') or (Info.Name = '..')) then
Expand Down Expand Up @@ -352,6 +352,15 @@ function TInitialize.CheckProgramSetting: Boolean;
end;

function TInitialize.Process(var Params : TLSPInitializeParams): TInitializeResult;

function EscapeFileName(const Name: String): String;
begin
if Pos(' ', Name) > 0 then
Result := '"' + Name + '"'
else
Result := Name;
end;

var
Proj, Option, aPath, ConfigPath: String;
CodeToolsOptions: TCodeToolsOptions;
Expand Down Expand Up @@ -476,10 +485,10 @@ function TInitialize.Process(var Params : TLSPInitializeParams): TInitializeResu
for aPath in WorkspacePaths do
begin
if ServerSettings.includeWorkspaceFoldersAsUnitPaths then
FPCOptions += ['-Fu' + ExpandFileName(aPath)];
FPCOptions += ['-Fu' + EscapeFileName(ExpandFileName(aPath))];

if ServerSettings.includeWorkspaceFoldersAsIncludePaths then
FPCOptions += ['-Fi' + ExpandFileName(aPath)];
FPCOptions += ['-Fi' + EscapeFileName(ExpandFileName(aPath))];
end;

CodeToolsOptions.FPCOptions := JoinString(FPCOptions, ' ');
Expand All @@ -503,7 +512,7 @@ function TInitialize.Process(var Params : TLSPInitializeParams): TInitializeResu
begin
Init(CodeToolsOptions);
IdentifierList.SortForHistory := True;
IdentifierList.SortMethodForCompletion:=icsScopedAlphabetic;
IdentifierList.SortMethodForCompletion := icsScopedAlphabetic;
end;

Result.Capabilities.ApplySettings(ServerSettings);
Expand Down Expand Up @@ -594,9 +603,8 @@ procedure TServerCapabilitiesHelper.ApplySettings(settings: TServerSettings);

function TLSPInitializeParams.createInitializationOptions: TInitializationOptions;
begin
Result:=TServerSettings.Create;
result := TServerSettings.Create;
end;


end.