diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 463a85a21bcf..a97c455ae56d 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -162,6 +162,7 @@ def layoutFull(String home, String targetDirectory) { module("IntelliLang") module("IntelliLang-java") module("IntelliLang-xml") + module("IntelliLang-js") module("IntelliLang-javaee") } } diff --git a/plugins/IntelliLang/IntelliLang-js.iml b/plugins/IntelliLang/IntelliLang-js.iml new file mode 100644 index 000000000000..ab675661e751 --- /dev/null +++ b/plugins/IntelliLang/IntelliLang-js.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/plugins/IntelliLang/js-support/com/intellij/plugins/intelliLang/inject/JSLanguageInjectionSupport.java b/plugins/IntelliLang/js-support/com/intellij/plugins/intelliLang/inject/JSLanguageInjectionSupport.java new file mode 100644 index 000000000000..e5d15039de26 --- /dev/null +++ b/plugins/IntelliLang/js-support/com/intellij/plugins/intelliLang/inject/JSLanguageInjectionSupport.java @@ -0,0 +1,32 @@ +package com.intellij.plugins.intelliLang.inject; + +import com.intellij.lang.javascript.patterns.JSPatterns; +import com.intellij.lang.javascript.psi.JSElement; +import com.intellij.psi.PsiElement; +import org.intellij.plugins.intelliLang.inject.AbstractLanguageInjectionSupport; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +/** + * @author Eugene.Kudelevsky + */ +public class JSLanguageInjectionSupport extends AbstractLanguageInjectionSupport { + @NonNls private static final String SUPPORT_ID = "js"; + + @NotNull + @Override + public String getId() { + return SUPPORT_ID; + } + + @NotNull + @Override + public Class[] getPatternClasses() { + return new Class[] {JSPatterns.class}; + } + + @Override + public boolean useDefaultInjector(PsiElement host) { + return host instanceof JSElement; + } +} diff --git a/plugins/IntelliLang/js-support/resources/jsInjections.xml b/plugins/IntelliLang/js-support/resources/jsInjections.xml new file mode 100644 index 000000000000..e3121c802a01 --- /dev/null +++ b/plugins/IntelliLang/js-support/resources/jsInjections.xml @@ -0,0 +1,7 @@ + + + + <<< SQLite + + + \ No newline at end of file diff --git a/plugins/IntelliLang/src/META-INF/intellilang-js-support.xml b/plugins/IntelliLang/src/META-INF/intellilang-js-support.xml new file mode 100644 index 000000000000..136e8e2de773 --- /dev/null +++ b/plugins/IntelliLang/src/META-INF/intellilang-js-support.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/plugins/IntelliLang/src/META-INF/plugin.xml b/plugins/IntelliLang/src/META-INF/plugin.xml index 3c6db8ce6d98..95faa6fef94a 100644 --- a/plugins/IntelliLang/src/META-INF/plugin.xml +++ b/plugins/IntelliLang/src/META-INF/plugin.xml @@ -9,6 +9,7 @@ com.intellij.modules.java com.intellij.javaee com.intellij.modules.xml + JavaScript Sascha Weinreuter