Skip to content

Commit 1181748

Browse files
committed
In the injected GraphQL fragment editor instance unwrap the in-memory LightVirtualFile to its original physical file in order to detect the parent directory (#275)
1 parent cd4d15c commit 1181748

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/main/com/intellij/lang/jsgraphql/ide/actions/GraphQLEditConfigAction.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.intellij.openapi.vfs.VirtualFile;
2626
import com.intellij.psi.PsiDirectory;
2727
import com.intellij.psi.impl.file.PsiDirectoryFactory;
28+
import com.intellij.testFramework.LightVirtualFile;
2829
import com.intellij.ui.CollectionComboBoxModel;
2930
import com.intellij.ui.components.panels.NonOpaquePanel;
3031
import org.jetbrains.annotations.NotNull;
@@ -60,7 +61,7 @@ public void update(AnActionEvent e) {
6061
@Override
6162
public void actionPerformed(AnActionEvent e) {
6263
final Project myProject = e.getData(CommonDataKeys.PROJECT);
63-
final VirtualFile virtualFile = e.getData(CommonDataKeys.VIRTUAL_FILE);
64+
final VirtualFile virtualFile = getVirtualFileOnDisk(e.getData(CommonDataKeys.VIRTUAL_FILE));
6465
if (myProject != null && virtualFile != null) {
6566
final GraphQLConfigManager configManager = GraphQLConfigManager.getService(myProject);
6667
final VirtualFile configFile = configManager.getClosestConfigFile(virtualFile);
@@ -100,6 +101,13 @@ public void actionPerformed(AnActionEvent e) {
100101
}
101102
}
102103

104+
private VirtualFile getVirtualFileOnDisk(VirtualFile virtualFile) {
105+
if (virtualFile instanceof LightVirtualFile) {
106+
return ((LightVirtualFile) virtualFile).getOriginalFile();
107+
}
108+
return virtualFile;
109+
}
110+
103111
static class GraphQLConfigDirectoryDialog extends DialogWrapper {
104112

105113
private final List<PsiDirectory> configDirectoryCandidates;

0 commit comments

Comments
 (0)