diff --git a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java index 18ac25edcfb..ad61c01b26e 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/completion/handlers/JetClassInsertHandler.java @@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.plugin.completion.JetLookupObject; +import org.jetbrains.jet.plugin.project.JsModuleDetector; import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper; /** @@ -52,9 +53,16 @@ public class JetClassInsertHandler implements InsertHandler { JetLookupObject lookupObject = (JetLookupObject)item.getObject(); final DeclarationDescriptor descriptor = lookupObject.getDescriptor(); PsiElement targetElement = lookupObject.getPsiElement(); - if (descriptor != null && targetElement != null) { + if (descriptor != null) { final FqName fqn = DescriptorUtils.getFQName(descriptor).toSafe(); - ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement); + + // TODO: Find out the way for getting psi element for JS libs + if (targetElement != null) { + ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement); + } + else if (JsModuleDetector.isJsModule(jetFile)) { + ImportInsertHelper.addImportDirective(fqn, jetFile); + } } } }