diff --git a/functions/_repo_list.fish b/functions/_repo_list.fish
index 4514f6e..34ad9d1 100644
--- a/functions/_repo_list.fish
+++ b/functions/_repo_list.fish
@@ -1,6 +1,3 @@
 function _repo_list
-    for git_dir in (find "$REPO_BASE_DIR" -type d -name ".git")
-        set parent_dir (path dirname "$git_dir")
-        echo (path basename "$parent_dir" | string replace -a "." "_")
-    end
+    find "$REPO_BASE_DIR" -type d -name ".git" -printf "%h\n" | sed 's|.*/||; s/\./_/g'
 end