Add del alias for rm helper command
This commit is contained in:
@@ -19,8 +19,8 @@ android {
|
|||||||
applicationId = "solutions.tretter.githugandroid"
|
applicationId = "solutions.tretter.githugandroid"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 35
|
targetSdk = 35
|
||||||
versionCode = 115
|
versionCode = 116
|
||||||
versionName = "0.1.114"
|
versionName = "0.1.115"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ object GitSandboxEngine {
|
|||||||
" mkdir|md <directory>",
|
" mkdir|md <directory>",
|
||||||
" cd <directory>",
|
" cd <directory>",
|
||||||
" cd..",
|
" cd..",
|
||||||
" rm <file>",
|
" rm|del <file>",
|
||||||
" echo <message>",
|
" echo <message>",
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ object GitSandboxEngine {
|
|||||||
else repo.copy(files = repo.files + GitFile(name = name)) to emptyList()
|
else repo.copy(files = repo.files + GitFile(name = name)) to emptyList()
|
||||||
}
|
}
|
||||||
(parts[0] == "mkdir" || parts[0] == "md") && parts.size >= 2 -> repo to emptyList()
|
(parts[0] == "mkdir" || parts[0] == "md") && parts.size >= 2 -> repo to emptyList()
|
||||||
parts[0] == "rm" && parts.size >= 2 -> {
|
(parts[0] == "rm" || parts[0] == "del") && parts.size >= 2 -> {
|
||||||
val target = parts[1]
|
val target = parts[1]
|
||||||
repo.copy(files = repo.files.mapNotNull { file ->
|
repo.copy(files = repo.files.mapNotNull { file ->
|
||||||
when {
|
when {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class GitRepositoryRuntime(private val context: Context) {
|
|||||||
add("Native Git prototype:")
|
add("Native Git prototype:")
|
||||||
add(" binary path: nativeLibraryDir/libgit.so")
|
add(" binary path: nativeLibraryDir/libgit.so")
|
||||||
add(" selected ABI: ${Build.SUPPORTED_ABIS.firstOrNull() ?: "unknown"}")
|
add(" selected ABI: ${Build.SUPPORTED_ABIS.firstOrNull() ?: "unknown"}")
|
||||||
add(" helper commands: ls/dir, pwd, cat, touch, mkdir/md, cd.., rm, echo")
|
add(" helper commands: ls/dir, pwd, cat, touch, mkdir/md, cd.., rm/del, echo")
|
||||||
add(" visual editors: vi, nano, emacs, ed, ex")
|
add(" visual editors: vi, nano, emacs, ed, ex")
|
||||||
add(" git help <command>")
|
add(" git help <command>")
|
||||||
}
|
}
|
||||||
@@ -240,13 +240,13 @@ class GitRepositoryRuntime(private val context: Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"rm" -> {
|
"rm", "del" -> {
|
||||||
val targets = tokens.drop(1)
|
val targets = tokens.drop(1)
|
||||||
if (targets.isEmpty()) return currentRepo to listOf("usage: rm <path>")
|
if (targets.isEmpty()) return currentRepo to listOf("usage: rm <path>")
|
||||||
val errors = targets.mapNotNull { target ->
|
val errors = targets.mapNotNull { target ->
|
||||||
val file = File(workingDir, target)
|
val file = File(workingDir, target)
|
||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
"rm: $target: No such file or directory"
|
"${tokens.first()}: $target: No such file or directory"
|
||||||
} else {
|
} else {
|
||||||
file.deleteRecursively()
|
file.deleteRecursively()
|
||||||
null
|
null
|
||||||
|
|||||||
@@ -97,4 +97,17 @@ class GitSandboxEngineTest {
|
|||||||
assertTrue(output.isEmpty())
|
assertTrue(output.isEmpty())
|
||||||
assertEquals("src", updatedRepo.currentDir)
|
assertEquals("src", updatedRepo.currentDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun delIsAcceptedAsRmAlias() {
|
||||||
|
val repo = RepoState(
|
||||||
|
initialized = true,
|
||||||
|
files = listOf(GitFile("deleteme.txt")),
|
||||||
|
)
|
||||||
|
|
||||||
|
val (updatedRepo, output) = GitSandboxEngine.execute(repo, "del deleteme.txt")
|
||||||
|
|
||||||
|
assertTrue(output.isEmpty())
|
||||||
|
assertFalse(updatedRepo.files.any { it.name == "deleteme.txt" })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user