diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8a79ac3..c94708c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -19,8 +19,8 @@ android { applicationId = "solutions.tretter.githugandroid" minSdk = 26 targetSdk = 35 - versionCode = 151 - versionName = "0.1.150" + versionCode = 152 + versionName = "0.1.151" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt b/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt index 2274c03..b5e684a 100644 --- a/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt +++ b/app/src/main/java/solutions/tretter/githugandroid/GitRuntime.kt @@ -187,7 +187,7 @@ class GitRepositoryRuntime private constructor( ?: sandboxRoot if (!workingDir.exists() || !workingDir.isDirectory) return emptyList() - return workingDir.walkTopDown() + val relativeCandidates = workingDir.walkTopDown() .drop(1) .filter { file -> !directoriesOnly || file.isDirectory } .map { file -> @@ -196,6 +196,8 @@ class GitRepositoryRuntime private constructor( } .filter { it.isNotBlank() } .toList() + + return relativeCandidates + relativeCandidates.map { "./$it" } } fun commandReferenceLines(): List { diff --git a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt index 3c4bf02..88a9fe2 100644 --- a/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt +++ b/app/src/test/java/solutions/tretter/githugandroid/GitSandboxEngineTest.kt @@ -185,6 +185,24 @@ class GitSandboxEngineTest { } } + @Test + fun nativeCompletionIncludesExecutableShortcutPaths() { + val git = testGitBinary() + assumeTrue(git.exists() && git.canExecute()) + val root = Files.createTempDirectory("githug-script-completion").toFile() + try { + val runtime = GitRepositoryRuntime(root, git) + val level = bisectLevel() + val repo = runtime.prepareLevel(level) + + val candidates = runtime.completionCandidates(level, repo, directoriesOnly = false) + + assertTrue("./test-balance.sh" in candidates) + } finally { + root.deleteRecursively() + } + } + @Test fun nativeGitExecAliasesRefreshWhenBinaryChanges() { val git = testGitBinary()