commit - edc0c44350371dc0b3e15d49841846c50800bf67
commit + 8f270315ac1a03425e7daccc1db3b14cd7080df8
blob - /dev/null
blob + b5a39a068886b33c37f6f1679ea1a6aac2223b8b (mode 644)
--- /dev/null
+++ src/main/kotlin/dev/nezzontli/gotvcs/GotVcs.kt
+package dev.nezzontli.gotvcs
+
+import com.intellij.openapi.project.Project
+import com.intellij.openapi.vcs.AbstractVcs
+import com.intellij.openapi.vcs.VcsKey
+import com.intellij.openapi.vcs.changes.ChangeProvider
+
+class GotVcs(project: Project) : AbstractVcs(project, NAME) {
+
+ private val commandLine = GotCommandLineWrapper()
+ private val changeProvider = GotChangeProvider(commandLine)
+
+ override fun getDisplayName(): String = NAME
+
+ override fun getChangeProvider(): ChangeProvider = changeProvider
+
+ companion object {
+ const val NAME = "got"
+
+ private val KEY = createKey(NAME)
+
+ @JvmStatic
+ fun getKey(): VcsKey = KEY
+ }
+}
blob - /dev/null
blob + 5015cec1440be351d545ccd6a7b46ec9ffababb3 (mode 644)
--- /dev/null
+++ src/main/kotlin/dev/nezzontli/gotvcs/GotVcsRootChecker.kt
+package dev.nezzontli.gotvcs
+
+import com.intellij.openapi.vcs.VcsKey
+import com.intellij.openapi.vcs.VcsRootChecker
+import java.io.File
+
+class GotVcsRootChecker : VcsRootChecker() {
+
+ override fun getSupportedVcs(): VcsKey = GotVcs.getKey()
+
+ override fun isRoot(path: String): Boolean = File(path, ".got").isDirectory
+
+ override fun isVcsDir(path: String): Boolean = path == ".got"
+}
blob - /dev/null
blob + 7691b318ffa7f5dfcd4c30985ff5418261cd2591 (mode 644)
--- /dev/null
+++ src/main/resources/META-INF/plugin.xml
+<idea-plugin>
+ <id>dev.nezzontli.gotvcs</id>
+ <name>Game of Trees (got) VCS</name>
+ <vendor>ale</vendor>
+
+ <depends>com.intellij.modules.vcs</depends>
+
+ <extensions defaultExtensionNs="com.intellij">
+ <vcs name="got"
+ vcsClass="dev.nezzontli.gotvcs.GotVcs"
+ displayName="got"
+ administrativeAreaName=".got"/>
+ <vcsRootChecker implementation="dev.nezzontli.gotvcs.GotVcsRootChecker"/>
+ </extensions>
+</idea-plugin>