我正在爲Bash中的svn添加對遠程URL完成的支持。我目前使用改良的bash完成-SVN是計算出時觸發的網址上完成看起來像Bash中的遠程URL完成
svn+ssh://$HOST/$DIR/prefix_string
我已成功地提取URL(svn+ssh://$HOST/$DIR
)的養育目錄部分,並呼籲svn ls
在它和
cur_suffix=prefix_string
現在剩下的就是如何使用URL的目錄部分和prefix_string
後,輸入用戶(可以爲空),使完成發生。我可以使用compgen
來完成這項工作嗎?
即,如果後綴爲空,如果url中的最後一個字符是斜槓或完整的目錄,則獲取可能的完成列表。
目前我使用
fix=($(compgen -o nospace -W "$remote_fileds" -- $cur_suffix))
,使完成發生針對URL如
svn://HOST/DIR/a
完成到forexample
svn://HIST/DIR/a_file
然而它始終選擇第一種選擇沒有儘管我寫了,但總是插入一個空間事件3210。如果有其他可能的匹配(前綴a
非唯一),我如何防止完成compgen完成,以及如何在不移動光標的情況下將這些匹配打印在光標下方。只能complete
這樣做?
你成功了嗎?你能分享一些你的工作嗎?我也對Subversion的URL完成感興趣。 – grundic