fix #233 - detect deps for completion when platform suffixes are used

This commit is contained in:
Basile Burg 2018-02-12 01:15:38 +01:00
parent b63b3044a1
commit 49d849c109
1 changed files with 27 additions and 2 deletions

View File

@ -1276,7 +1276,7 @@ procedure TCEDubProject.updateImportPathsFromJson;
// note: dependencies are added as import to allow DCD completion // note: dependencies are added as import to allow DCD completion
// see TCEDcdWrapper.projChanged() // see TCEDcdWrapper.projChanged()
procedure addDepsFrom(obj: TJSONObject); procedure addDepsFrom(obj: TJSONObject; const suffix: string = '');
var var
deps: TJSONObject; deps: TJSONObject;
pck: PDubLocalPackage; pck: PDubLocalPackage;
@ -1292,7 +1292,7 @@ procedure TCEDubProject.updateImportPathsFromJson;
u: PSemVer; u: PSemVer;
i: integer; i: integer;
begin begin
if obj.findObject('dependencies', deps) then if obj.findObject('dependencies' + suffix, deps) then
begin begin
{$IFDEF WINDOWS} {$IFDEF WINDOWS}
z := GetEnvironmentVariable('APPDATA') + '\dub\packages\'; z := GetEnvironmentVariable('APPDATA') + '\dub\packages\';
@ -1391,11 +1391,36 @@ begin
addFrom(fJSON); addFrom(fJSON);
addDepsFrom(fJSON); addDepsFrom(fJSON);
{$IFDEF WINDOWS}
addDepsFrom(fJSON, '-windows');
{$ENDIF}
{$IFDEF LINUX}
addDepsFrom(fJSON, '-linux');
{$ENDIF}
{$IFDEF DARWIN}
addDepsFrom(fJSON, '-osx');
{$ENDIF}
{$IFDEF UNIX}
addDepsFrom(fJSON, '-posix');
{$ENDIF}
conf := getCurrentCustomConfig; conf := getCurrentCustomConfig;
if conf.isNotNil then if conf.isNotNil then
begin begin
addFrom(conf); addFrom(conf);
addDepsFrom(conf); addDepsFrom(conf);
{$IFDEF WINDOWS}
addDepsFrom(conf, '-windows');
{$ENDIF}
{$IFDEF LINUX}
addDepsFrom(conf, '-linux');
{$ENDIF}
{$IFDEF DARWIN}
addDepsFrom(conf, '-osx');
{$ENDIF}
{$IFDEF UNIX}
addDepsFrom(conf, '-posix');
{$ENDIF}
end; end;
end; end;