Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] Fix bzr completion



Hi,

here's a small patch that fixes bzr completion when trying to complete a filename not directly in the current directory.

Let's say I'm in the root directory of a bazaar checkout.
I modify the following files:
"README.txt"
"src/file.cpp"

bzr commit READ<hit tab>
bzr commit README.txt

Completion works for this file, because it sits at root level.

bzr commit src/fi<hit tab>
No matches for: `modified files'

Which is clearly not the expected result. The attached patch fixes this by passing "-R" (recurse) option to bzr when computing the list of versionned files.
Same thing for unknown files (used when completing "bzr add " commands).

Best regards and many thanks for the great shell,
Sebastien Alaiwan


diff --git a/Completion/Unix/Command/_bzr b/Completion/Unix/Command/_bzr
index 23feb6f..ab9fd72 100644
--- a/Completion/Unix/Command/_bzr
+++ b/Completion/Unix/Command/_bzr
@@ -25,7 +25,7 @@ curcontext="${curcontext%:*:*}:bzr-$cmd:"
 (( $+functions[_bzr_unknownFiles] )) ||
 _bzr_unknownFiles() {
     local fileList
-    fileList=(${(ps:\0:)"$(bzr ls --null --unknown)"})
+    fileList=(${(ps:\0:)"$(bzr ls --null --unknown -R)"})
     compadd -af fileList
     return 0
 }
@@ -41,7 +41,7 @@ _bzr_unknownRoot() {
 (( $+functions[_bzr_versionedFiles] )) ||
 _bzr_versionedFiles() {
     local fileList
-    fileList=(${(ps:\0:)"$(bzr ls --null --versioned)"})
+    fileList=(${(ps:\0:)"$(bzr ls --null --versioned -R)"})
     compadd -af fileList
     return 0
 }

Attachment: signature.asc
Description: OpenPGP digital signature



Messages sorted by: Reverse Date, Date, Thread, Author