Skip to content

Commit f2e9135

Browse files
committed
Complete main packages in run configuration
1 parent f5785fb commit f2e9135

File tree

5 files changed

+11
-8
lines changed

5 files changed

+11
-8
lines changed

src/com/goide/codeInsight/imports/GoImportPackageQuickFix.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public String fun(@NotNull GoFile file) {
180180
return null;
181181
}
182182
}
183-
if (!GoPsiImplUtil.canBeAutoImported(file, module)) {
183+
if (!GoPsiImplUtil.canBeAutoImported(file, false, module)) {
184184
return null;
185185
}
186186
String importPath = file.getImportPath(vendoringEnabled);

src/com/goide/completion/GoAutoImportCompletionContributor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ public boolean process(@NotNull GoNamedElement element) {
320320
@NotNull
321321
private Boolean cachedAllowed(@NotNull GoNamedElement element, @Nullable Boolean existingValue) {
322322
if (existingValue != null) return existingValue;
323-
return GoPsiImplUtil.canBeAutoImported(element.getContainingFile(), myModule);
323+
return GoPsiImplUtil.canBeAutoImported(element.getContainingFile(), false, myModule);
324324
}
325325

326326
@NotNull

src/com/goide/completion/GoImportPathsCompletionProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,15 @@ protected void addCompletions(@NotNull CompletionParameters parameters, Processi
5858

5959
Module module = ModuleUtilCore.findModuleForPsiElement(parameters.getOriginalFile());
6060
if (module != null) {
61-
addCompletions(result, module, parameters.getOriginalFile(), GoUtil.goPathResolveScope(module, parameters.getOriginalFile()));
61+
addCompletions(result, module, parameters.getOriginalFile(), GoUtil.goPathResolveScope(module, parameters.getOriginalFile()), false);
6262
}
6363
}
6464

6565
public static void addCompletions(@NotNull CompletionResultSet result,
6666
@NotNull Module module,
6767
@Nullable PsiElement context,
68-
@NotNull GlobalSearchScope scope) {
68+
@NotNull GlobalSearchScope scope,
69+
boolean allowMain) {
6970
Project project = module.getProject();
7071
boolean vendoringEnabled = GoVendoringUtil.isVendoringEnabled(module);
7172
String contextImportPath = GoCompletionUtil.getContextImportPath(context, vendoringEnabled);
@@ -80,7 +81,7 @@ public static void addCompletions(@NotNull CompletionResultSet result,
8081
if (directory == null) continue;
8182

8283
GoFile goFile = (GoFile)psiFile;
83-
if (!GoPsiImplUtil.canBeAutoImported(goFile, module)) continue;
84+
if (!GoPsiImplUtil.canBeAutoImported(goFile, allowMain, module)) continue;
8485

8586
String importPath = goFile.getImportPath(vendoringEnabled);
8687
if (StringUtil.isNotEmpty(importPath) && !excludedSettings.isExcluded(importPath)

src/com/goide/psi/impl/GoPsiImplUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,8 +1289,8 @@ public static GoTypeSpec getTypeSpecSafe(@NotNull GoType type) {
12891289
return ObjectUtils.tryCast(parent, GoTypeSpec.class);
12901290
}
12911291

1292-
public static boolean canBeAutoImported(@NotNull GoFile file, @Nullable Module module) {
1293-
if (isBuiltinFile(file) || StringUtil.equals(file.getCanonicalPackageName(), GoConstants.MAIN)) {
1292+
public static boolean canBeAutoImported(@NotNull GoFile file, boolean allowMain, @Nullable Module module) {
1293+
if (isBuiltinFile(file) || !allowMain && StringUtil.equals(file.getCanonicalPackageName(), GoConstants.MAIN)) {
12941294
return false;
12951295
}
12961296
if (!GoUtil.matchedForModuleBuildTarget(file, module) || GoUtil.isExcludedFile(file)) {

src/com/goide/runconfig/testing/ui/GoPackageFieldCompletionProvider.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.goide.util.GoUtil;
2121
import com.intellij.codeInsight.completion.CompletionResultSet;
2222
import com.intellij.openapi.module.Module;
23+
import com.intellij.psi.search.GlobalSearchScope;
2324
import com.intellij.util.Producer;
2425
import com.intellij.util.TextFieldCompletionProvider;
2526
import org.jetbrains.annotations.NotNull;
@@ -38,7 +39,8 @@ protected void addCompletionVariants(@NotNull String text,
3839
@NotNull CompletionResultSet result) {
3940
Module module = myModuleProducer.produce();
4041
if (module != null) {
41-
GoImportPathsCompletionProvider.addCompletions(result, module, null, GoUtil.moduleScopeWithoutLibraries(module.getProject(), module));
42+
GlobalSearchScope scope = GoUtil.moduleScopeWithoutLibraries(module.getProject(), module);
43+
GoImportPathsCompletionProvider.addCompletions(result, module, null, scope, true);
4244
}
4345
}
4446
}

0 commit comments

Comments
 (0)