<idea-plugin>
  <project-components>
    <component>
      <implementation-class>org.jetbrains.plugins.ipnb.configuration.IpnbConnectionManager</implementation-class>
    </component>
  </project-components>
  <extensions defaultExtensionNs="com.intellij">
    <fileEditorProvider implementation="org.jetbrains.plugins.ipnb.editor.IpnbEditorProvider"/>
    <fileTypeFactory implementation="org.jetbrains.plugins.ipnb.IpnbFileTypeFactory"/>

    <projectConfigurable groupId="language"  instance="org.jetbrains.plugins.ipnb.configuration.IpnbConfigurable"
                         id="IpnbConfigurable" displayName="Jupyter Notebook"
                         nonDefaultProject="true"/>
    <projectService serviceInterface="org.jetbrains.plugins.ipnb.configuration.IpnbSettings"
                    serviceImplementation="org.jetbrains.plugins.ipnb.configuration.IpnbSettings"/>
    <lang.parserDefinition language="IpnbPython" implementationClass="org.jetbrains.plugins.ipnb.psi.IpnbPyParserDefinition"/>
    <stubElementTypeHolder class="org.jetbrains.plugins.ipnb.psi.IpnbPyTokenTypes"/>
    <referencesSearch implementation="org.jetbrains.plugins.ipnb.psi.IpnbSearchExecutor"/>
    <configurationType implementation="org.jetbrains.plugins.ipnb.run.IpnbRunConfigurationType"/>
  </extensions>
  <extensions defaultExtensionNs="Pythonid">
    <dialectsTokenSetContributor implementation="org.jetbrains.plugins.ipnb.psi.IpnbPyTokenSetContributor"/>
    <visitorFilter language="IpnbPython" implementationClass="org.jetbrains.plugins.ipnb.IpnbVisitorFilter"/>
    <pep8ProblemSuppressor implementation="org.jetbrains.plugins.ipnb.IpnbPep8ProblemSuppressor"/>
    <unresolvedReferenceSkipper implementation="org.jetbrains.plugins.ipnb.psi.IpnbUnresolvedReferenceSkipper"/>
  </extensions>
  <actions>
    <action class="org.jetbrains.plugins.ipnb.editor.actions.IpnbRunAllCellsAction" id="IpnbRunAllCellsAction" text="Run All Cells"
    use-shortcut-of="Run">
      <add-to-group group-id="RunMenu" anchor="last"/>
    </action>
    <action class="org.jetbrains.plugins.ipnb.editor.actions.IpnbConvertToPythonAction" id="IpnbConvertToPythonAction"
            text="Convert to Python Script">
      <add-to-group group-id="ProjectViewPopupMenuSettingsGroup"/>
    </action>

    <action class="org.jetbrains.plugins.ipnb.editor.actions.IpnbConvertFromPythonAction" id="IpnbConvertFromPythonAction"
            text="Convert to Jupyter Notebook">
      <add-to-group group-id="ToolsMenu" anchor="last"/>
    </action>

    <action id="NewIPynbFile" class="org.jetbrains.plugins.ipnb.editor.actions.IpnbCreateFileAction">
      <add-to-group group-id="NewGroup" anchor="after" relative-to-action="NewPythonFile"/>
    </action>

  </actions>

</idea-plugin>
