<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.HgRootsHandler"
                    serviceImplementation="org.zmlx.hg4idea.HgRootsHandler" />
    <projectService serviceImplementation="org.zmlx.hg4idea.log.HgContentRevisionFactory"/>
  </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>
