12
12
import com .intellij .openapi .project .Project ;
13
13
import com .intellij .openapi .vfs .VirtualFile ;
14
14
import com .intellij .psi .PsiDirectory ;
15
+ import com .intellij .psi .PsiFile ;
15
16
import com .intellij .psi .PsiManager ;
16
17
import com .magento .idea .magento2plugin .util .magento .GetModuleNameByDirectoryUtil ;
17
18
import org .jetbrains .annotations .NotNull ;
@@ -30,7 +31,8 @@ public class CopyMagentoPath extends CopyPathProvider {
30
31
@ Override
31
32
public void update (@ NotNull final AnActionEvent event ) {
32
33
final VirtualFile virtualFile = event .getData (PlatformDataKeys .VIRTUAL_FILE );
33
- if (virtualFile != null && virtualFile .isDirectory ()) {
34
+ if (virtualFile != null && virtualFile .isDirectory ()
35
+ || virtualFile != null && !PHTML .equals (virtualFile .getExtension ())) {
34
36
event .getPresentation ().setVisible (false );
35
37
}
36
38
}
@@ -42,11 +44,22 @@ public String getPathToElement(
42
44
@ Nullable final VirtualFile virtualFile ,
43
45
@ Nullable final Editor editor
44
46
) {
45
- final PsiDirectory directory
46
- = PsiManager .getInstance (project ).findFile (virtualFile ).getContainingDirectory ();
47
+ if (virtualFile == null ) {
48
+ return null ;
49
+ }
50
+ final PsiFile file
51
+ = PsiManager .getInstance (project ).findFile (virtualFile );
52
+ if (file == null ) {
53
+ return null ;
54
+ }
55
+ final PsiDirectory directory = file .getContainingDirectory ();
56
+ final String moduleName = GetModuleNameByDirectoryUtil .execute (directory , project );
57
+ if (moduleName == null ) {
58
+ return null ;
59
+ }
47
60
final StringBuilder fullPath = new StringBuilder (virtualFile .getPath ());
48
61
final StringBuilder magentoPath
49
- = new StringBuilder (GetModuleNameByDirectoryUtil . execute ( directory , project ) );
62
+ = new StringBuilder (moduleName );
50
63
String path = fullPath .toString ();
51
64
52
65
if (PHTML .equals (virtualFile .getExtension ())) {
0 commit comments