<idea-plugin>
  <name>RubyMotion support</name>
  <id>org.jetbrains.plugins.ruby.motion</id>
  <description><![CDATA[
  RubyMotion framework support<br>
  RubyMotion lets you quickly develop cross-platform native apps for iOS, Android and OS X using Ruby language.
  ]]></description>
  <vendor>JetBrains</vendor>

  <depends>com.intellij.modules.ultimate</depends>
  <depends>com.intellij.modules.ruby</depends>

  <extensions defaultExtensionNs="com.intellij">
    <applicationService serviceInterface="org.jetbrains.plugins.ruby.motion.util.RubyMotionUtil"
                        serviceImplementation="org.jetbrains.plugins.ruby.motion.util.RubyMotionUtilImpl"/>
    <applicationService serviceImplementation="org.jetbrains.plugins.ruby.motion.bridgesupport.BridgeSupportLoader"/>
    <applicationService serviceImplementation="org.jetbrains.plugins.ruby.motion.bridgesupport.InheritanceInfoHolder"/>
    <applicationService
            serviceImplementation="org.jetbrains.plugins.ruby.motion.bridgesupport.FrameworkDependencyResolver"/>

    <moduleService serviceImplementation="org.jetbrains.plugins.ruby.motion.symbols.MotionSymbolUtil$MotionTypeCache"/>
    <moduleService
            serviceImplementation="org.jetbrains.plugins.ruby.motion.symbols.MotionSymbolUtil$MotionSymbolsCache"/>

    <facetType implementation="org.jetbrains.plugins.ruby.motion.facet.RubyMotionFacetType"/>

    <directoryProjectConfigurator implementation="org.jetbrains.plugins.ruby.motion.RubyMotionFacetConfigurator"
                                  order="after sdk"/>
    <directoryProjectGenerator implementation="org.jetbrains.plugins.ruby.motion.RubyMotionGenerator"/>

  </extensions>

  <extensions defaultExtensionNs="org.jetbrains.plugins.ruby">
    <implicitRequireProvider implementation="org.jetbrains.plugins.ruby.motion.RubyMotionRequireProvider"/>
    <!--RubyMotion completion provider should go before base because it customizes same elements as base does in the different way-->
    <completionProvider implementation="org.jetbrains.plugins.ruby.motion.RubyMotionCompletionProvider" order="before base"/>
    <symbolProvider implementation="org.jetbrains.plugins.ruby.motion.RubyMotionSymbolProvider"/>
    <rubyTypeProvider implementation="org.jetbrains.plugins.ruby.motion.RubyMotionTypeProvider"/>
    <paramDefProvider implementation="org.jetbrains.plugins.ruby.motion.paramdefs.RubyMotionParamdefsProvider"/>
    <overriddenMethodGenerator implementation="org.jetbrains.plugins.ruby.motion.RubyMotionOverriddenMethodGenerator"/>
  </extensions>

</idea-plugin>
