plugin.xml
<idea-plugin>
<id>com.github.jonathanxd.Dracon</id>
<name>Dracon (Pijul)</name>
<vendor email="jhrldev@gmail.com" url="http://github.com/JonathanxD">JonathanxD</vendor>
<!--<description><![CDATA[
Dracon is an unofficial Pijul plugin for IntelliJ IDEA.
Enter short description for your plugin here.<br>
<em>most HTML tags may be used</em>
]]></description>-->
<!-- please see https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<resource-bundle>messages.DraconBundle</resource-bundle>
<depends>com.intellij.modules.vcs</depends>
<depends>com.intellij.modules.platform</depends>
<depends>org.jetbrains.plugins.terminal</depends>
<depends>org.toml.lang</depends>
<extensions defaultExtensionNs="com.intellij">
<projectService serviceInterface="com.github.jonathanxd.dracon.pijul.Pijul"
serviceImplementation="com.github.jonathanxd.dracon.cmd.PijulCmd" />
<projectService serviceImplementation="com.github.jonathanxd.dracon.config.PijulSettings" configurationSchemaKey="versionControl.pijul"/>
<vcs name="Pijul" vcsClass="com.github.jonathanxd.dracon.PijulVcs" displayName="Pijul" administrativeAreaName=".pijul"/>
<vcs.actions.ScheduleForAdditionActionExtension implementation="com.github.jonathanxd.dracon.actions.PijulAddExtension"/>
<vcsRootChecker implementation="com.github.jonathanxd.dracon.roots.PijulRootChecker"/>
<vcs.fileStatusProvider implementation="com.github.jonathanxd.dracon.vfs.PijulVirtualFileStatusProvider"/>
<vcsIgnoreChecker implementation="com.github.jonathanxd.dracon.ignore.PijulIgnoreChecker"/>
<vcsRepositoryCreator implementation="com.github.jonathanxd.dracon.repository.PijulRepositoryCreator"/>
<vcsRepositoryInitializer implementation="com.github.jonathanxd.dracon.repository.PijulRepositoryInit"/>
<vcs.ignoredFilesHolder implementation="com.github.jonathanxd.dracon.ignore.PijulIgnoredFileHolderProvider"/>
<ignoredFileContentProvider implementation="com.github.jonathanxd.dracon.ignore.PijulIgnoredFileContentProvider"/>
<pushSupport implementation="com.github.jonathanxd.dracon.push.PijulPushSupport"/>
<completion.contributor language="TOML" implementationClass="com.github.jonathanxd.dracon.completion.PijulCompletionContributor" />
<postStartupActivity implementation="com.github.jonathanxd.dracon.activity.PijulPostStartupActivity"/>
<backgroundPostStartupActivity implementation="com.github.jonathanxd.dracon.activity.PijulIndexActivity"/>
<!-- Add your extensions here -->
<logProvider implementation="com.github.jonathanxd.dracon.log.PijulLogProvider"/>
<!-- Pijul ignore lang -->
<fileType language="PijulIgnore" extensions="ignore" fieldName="INSTANCE" name="PijulIgnore file"
implementationClass="com.github.jonathanxd.dracon.lang.ignore.PijulIgnoreFileType"/>
<lang.parserDefinition language="PijulIgnore"
implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreParserDefinition"/>
<codeInsight.lineMarkerProvider language="PijulIgnore"
implementationClass="com.intellij.openapi.vcs.changes.ignore.codeInsight.IgnoreDirectoryMarkerProvider"/>
<lang.braceMatcher language="PijulIgnore" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreBraceMatcher"/>
<lang.commenter language="PijulIgnore" implementationClass="com.intellij.openapi.vcs.changes.ignore.lang.IgnoreCommenter"/>
<!--END Pijul ignore lang-->
<projectCloseHandler implementation="com.github.jonathanxd.dracon.handler.DraconCloseHandler" />
<applicationConfigurable parentId="tools" instance="com.github.jonathanxd.dracon.component.PijulSettingsConfigurable"
id="com.github.jonathanxd.dracon.component.PijulSettingsConfigurable"
displayName="Dracon (Pijul)"/>
<applicationService serviceImplementation="com.github.jonathanxd.dracon.config.PijulSettings"/>
</extensions>
<actions>
<!-- Add your actions here -->
<action id="Pijul.Init" class="com.github.jonathanxd.dracon.actions.PijulInit">
<add-to-group group-id="Vcs.Import" />
<add-to-group group-id="Vcs.Operations.Popup.NonVcsAware" relative-to-action="Start.Use.Vcs" anchor="before" />
</action>
<action id="Pijul.InvalidateCaches" class="com.github.jonathanxd.dracon.actions.PijulInvalidateCaches"/>
<action id="Pijul.AddToIgnore" class="com.github.jonathanxd.dracon.actions.PijulAddToIgnore"/>
<action id="Pijul.ExpertRecord" class="com.github.jonathanxd.dracon.actions.PijulExpertRecord"/>
<action id="Pijul.Push" class="com.github.jonathanxd.dracon.actions.PijulPushRecord"/>
<!--<action id="Pijul.Stage.Add" class="" use-shortcut-of="ChangesView.AddUnversioned" />-->
<action id="Pijul.Commit.And.Push.Executor" class="com.github.jonathanxd.dracon.actions.PijulCommitAndPushExecutorAction">
<add-to-group group-id="Vcs.Commit.PrimaryCommitActions"/>
<keyboard-shortcut first-keystroke="control alt K" keymap="$default"/>
</action>
<group id="Pijul.Menu" class="com.github.jonathanxd.dracon.actions.PijulMenu" popup="true" searchable="false">
<reference ref="Pijul.Init"/>
<separator/>
<action id="Pijul.Add" class="com.intellij.openapi.vcs.changes.actions.ScheduleForAdditionWithIgnoredFilesConfirmationAction"
icon="AllIcons.General.Add" use-shortcut-of="ChangesView.AddUnversioned"/>
<reference ref="CheckinFiles"/>
<reference ref="CheckinProject"/>
<reference ref="Pijul.ExpertRecord"/>
<separator/>
<reference ref="Compare.SameVersion"/>
<reference ref="Compare.Selected"/>
<reference ref="Vcs.ShowHistoryForBlock"/>
<reference ref="Vcs.ShowTabbedFileHistory"/>
<separator/>
<reference ref="Pijul.Push"/>
<reference ref="Pijul.Commit.And.Push.Executor"/>
<separator/>
<reference ref="Pijul.InvalidateCaches"/>
<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="Pijul.Ignore.File" class="com.github.jonathanxd.dracon.actions.PijulIgnoreActionGroup">
<add-to-group group-id="ChangesViewPopupMenu" anchor="after" relative-to-action="ChangesView.AddUnversioned"/>
<add-to-group group-id="Pijul.Menu" anchor="after" relative-to-action="Pijul.Add"/>
<add-to-group group-id="Unversioned.Files.Dialog.Popup" anchor="after" relative-to-action="$Delete"/>
</group>
</actions>
</idea-plugin>