<idea-plugin version="2">
  <name>GitHub</name>
  <id>org.jetbrains.plugins.github</id>
  <vendor>JetBrains</vendor>
  <description>
      <![CDATA[
      Allows working with <a href="http://github.com/">GitHub</a>.
      The following features are available:
        <ul>
        <li>Dedicated page under the Version Control node in the Settings/Preferences dialog.</li>
        <li>Ability to browse, check out sources from and import into the available Git repositories, when GitHub is not enabled.</li>
        <li>When GitHub is enabled, the GitHub node appears on the VCS menu, and on the context menu of the editor.
        </ul>
      ]]>
   </description>

  <depends>com.intellij.modules.lang</depends>
  <depends>Git4Idea</depends>
  <depends optional="true" config-file="github-tracker.xml">com.intellij.tasks</depends>

  <extensions defaultExtensionNs="com.intellij">
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <checkoutProvider implementation="org.jetbrains.plugins.github.extensions.GithubCheckoutProvider"/>
    <applicationService serviceInterface="org.jetbrains.plugins.github.util.GithubSettings"
                        serviceImplementation="org.jetbrains.plugins.github.util.GithubSettings"/>
    <projectService serviceInterface="org.jetbrains.plugins.github.util.GithubProjectSettings"
                        serviceImplementation="org.jetbrains.plugins.github.util.GithubProjectSettings"/>
    <vcsAnnotationGutterActionProvider implementation="org.jetbrains.plugins.github.extensions.GithubAnnotationGutterActionProvider" />
    <checkoutCompletedListener implementation="org.jetbrains.plugins.github.extensions.GithubCheckoutListener" order="after PlatformProjectCheckoutListener"/>
    <vcsConfigurableProvider implementation="org.jetbrains.plugins.github.ui.GithubSettingsConfigurable"/>

    <applicationService serviceInterface="org.jetbrains.plugins.github.util.GithubSslSupport"
                        serviceImplementation="org.jetbrains.plugins.github.util.GithubSslSupport"/>
  </extensions>

  <extensions defaultExtensionNs="Git4Idea">
    <GitHttpAuthDataProvider implementation="org.jetbrains.plugins.github.extensions.GithubHttpAuthDataProvider" />
  </extensions>

  <actions>
    <action id="Github.Share" class="org.jetbrains.plugins.github.GithubShareAction">
      <add-to-group group-id="Vcs.Import"/>
    </action>
    <action id="Github.Rebase" class="org.jetbrains.plugins.github.GithubRebaseAction">
      <add-to-group group-id="Git.Menu"/>
    </action>
    <action id="Github.Create.Pull.Request" class="org.jetbrains.plugins.github.GithubCreatePullRequestAction">
      <add-to-group group-id="Git.Menu"/>
    </action>
    <action id="Github.Open.In.Browser" class="org.jetbrains.plugins.github.GithubOpenInBrowserAction">
      <add-to-group group-id="EditorPopupMenu"/>
      <add-to-group group-id="ProjectViewPopupMenu"/>
      <add-to-group group-id="EditorTabPopupMenu"/>
    </action>
    <action id="Github.Open.Commit.In.Browser" class="org.jetbrains.plugins.github.GithubShowCommitInBrowserFromLogAction">
      <add-to-group group-id="Git.LogContextMenu" />
      <add-to-group group-id="Vcs.Log.ContextMenu" />
    </action>
    <action id="Github.Create.Gist" class="org.jetbrains.plugins.github.GithubCreateGistAction">
      <add-to-group group-id="EditorPopupMenu"/>
      <add-to-group group-id="ProjectViewPopupMenu"/>
      <add-to-group group-id="EditorTabPopupMenu"/>
      <add-to-group group-id="ConsoleEditorPopupMenu"/>
    </action>
  </actions>
</idea-plugin>