<idea-plugin>
  <id>hg4idea</id>
  <name>hg4idea</name>
  <description>
      <![CDATA[
      Allows working with <a href="http://mercurial.selenic.com/">Mercurial version control system</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 Mercurial repositories, when Mercurial is not enabled.</li>
        <li>When Mercurial is enabled, the Mercurial node appears on the VCS menu, and on the context menu of the editor.
        </ul>
      ]]>
   </description>
  <category>VCS Integration</category>
  <version>10.0</version>
  <vendor email="victor.iacoban@gmail.com, willem.verstraeten@gmail.com" url="http://www.bitbucket.org/willemv/hg4idea">Victor Iacoban and Willem Verstraeten</vendor>
  <depends>com.intellij.modules.vcs</depends>

  <extensions defaultExtensionNs="com.intellij">
    <vcs name="hg4idea" vcsClass="org.zmlx.hg4idea.HgVcs" displayName="Mercurial" administrativeAreaName=".hg"/>
    <checkoutProvider implementation="org.zmlx.hg4idea.provider.HgCheckoutProvider"/>
    <vcsRootChecker implementation="org.zmlx.hg4idea.roots.HgRootChecker"/>
    <errorHandler implementation="com.intellij.diagnostic.ITNReporter"/>
    <vcsPopupProvider implementation="org.zmlx.hg4idea.provider.HgQuickListProvider"/>
    <logProvider implementation="org.zmlx.hg4idea.log.HgLogProvider"/>

    <applicationService serviceInterface="org.zmlx.hg4idea.HgGlobalSettings"
                        serviceImplementation="org.zmlx.hg4idea.HgGlobalSettings"/>
    <applicationService serviceInterface="org.zmlx.hg4idea.HgRememberedInputs"
                        serviceImplementation="org.zmlx.hg4idea.HgRememberedInputs"/>
    <projectService serviceInterface="org.zmlx.hg4idea.HgProjectSettings"
                    serviceImplementation="org.zmlx.hg4idea.HgProjectSettings"/>
    <projectService serviceInterface="org.zmlx.hg4idea.provider.update.HgUpdateConfigurationSettings"
                    serviceImplementation="org.zmlx.hg4idea.provider.update.HgUpdateConfigurationSettings"/>
    <projectService serviceInterface="org.zmlx.hg4idea.HgRootsHandler"
                    serviceImplementation="org.zmlx.hg4idea.HgRootsHandler" />
  </extensions>

  <project-components>
    <component>
      <interface-class>org.zmlx.hg4idea.HgRepositoryWatcher</interface-class>
      <implementation-class>org.zmlx.hg4idea.HgRepositoryWatcher</implementation-class>
    </component>
    <component>
      <implementation-class>org.zmlx.hg4idea.repo.HgRepositoryManager</implementation-class>
    </component>
  </project-components>

  <actions>
    <action id="Hg.Init" class="org.zmlx.hg4idea.action.HgInit" text="Create Mercurial Repository">
      <add-to-group group-id="Vcs.Import"/>
    </action>

    <group id="hg4idea.file.menu" popup="true" class="org.zmlx.hg4idea.action.HgMercurialMenu">
      <reference ref="CheckinFiles"/>
      <reference ref="ChangesView.AddUnversioned"/>
      <reference ref="ChangesView.Revert"/>
      <separator/>

      <reference ref="Compare.SameVersion"/>
      <reference ref="Compare.Selected"/>
      <reference ref="Vcs.ShowTabbedFileHistory"/>
      <reference ref="Vcs.ShowHistoryForBlock"/>
      <reference ref="Annotate"/>
      <separator/>

      <action id="hg4idea.pull" class="org.zmlx.hg4idea.action.HgPullAction" />
      <action id="hg4idea.push" class="org.zmlx.hg4idea.action.HgPushAction">
        <keyboard-shortcut first-keystroke="control shift K" keymap="$default"/>
      </action>
      <separator/>
      <action id="hg4idea.run.conflict.resolver" class="org.zmlx.hg4idea.action.HgRunConflictResolverAction"/>
      <action id="hg4idea.merge.files" class="org.zmlx.hg4idea.action.HgMerge" icon="AllIcons.Vcs.MergeSourcesTree"/>
      <separator/>

      <action id="hg4idea.branches" class="org.zmlx.hg4idea.action.HgBranchesAction" text="_Branches..."/>
      <action id="hg4idea.tag" class="org.zmlx.hg4idea.action.HgCreateTagAction"/>
      <action id="hg4idea.updateTo" class="org.zmlx.hg4idea.action.HgUpdateToAction"/>
      <action id="hg4idea.resolve.mark" class="org.zmlx.hg4idea.action.HgMarkResolved"/>
      <separator/>
      <action id="hg4idea.Rebase.Abort" class="org.zmlx.hg4idea.action.HgAbortRebaseAction" text="Abort Rebasing"/>
      <action id="hg4idea.Rebase.Continue" class="org.zmlx.hg4idea.action.HgContinueRebaseAction" text="Continue Rebasing"/>

      <separator/>
      <reference id="ChangesView.Browse"/>
      <separator/>

      <add-to-group group-id="VcsGroup" anchor="last"/>
      <add-to-group group-id="VcsGlobalGroup" anchor="after" relative-to-action="Vcs.Specific"/>
    </group>

    <group id="Hg.LogContextMenu">
      <separator/>
    </group>

    <action class="org.zmlx.hg4idea.action.HgUpdateToFromLogAction" id="hg4idea.UpdateToRevision" text="Update to Revision"/>
    <action class="org.zmlx.hg4idea.action.HgCreateTagFromLogAction" id="hg4idea.CreateNewTag" text="New Tag"
            description="Create new tag pointing to this commit"/>

    <group id="Hg.Log.ContextMenu">
      <reference id="hg4idea.UpdateToRevision"/>
      <reference id="hg4idea.CreateNewTag"/>
      <add-to-group group-id="Vcs.Log.ContextMenu"/>
    </group>

  </actions>

  <resource-bundle>org.zmlx.hg4idea.HgVcsMessages</resource-bundle>
</idea-plugin>
