fix/improve completion for function tssh
authorFelix Kästner <git@fpunktk.de>
Fri, 27 Aug 2021 12:08:56 +0000 (14:08 +0200)
committerFelix Kästner <git@fpunktk.de>
Fri, 27 Aug 2021 12:08:56 +0000 (14:08 +0200)
README.md

index c19713b91377c59ee88b6ed3a6623087b60c698f..dde0adeff7ccaf43404f75ea7b0045a7e5de1599 100644 (file)
--- a/README.md
+++ b/README.md
@@ -100,7 +100,12 @@ tssh() {
     # use -t to force the allocation of a terminal
     ssh -t "$@" "$(trccmd --xz)"
 }
-complete -F _ssh tssh # this is the same as for ssh; function _ssh might not exist when this is called, but will be created automagically when requesting completion for ssh
+_tssh_completion() {
+    # when completion is requested, it will be redefined to use _ssh and then load the completion function for ssh, see https://stackoverflow.com/questions/61539494/how-does-bash-do-ssh-autocompletion
+    complete -F _ssh tssh
+    __load_completion "ssh" && return 124 || complete -r tssh # if loading completion is successful then return, otherwise disable completion for tssh
+}
+complete -F _tssh_completion tssh # this just loads the correct completion function
 
 tdocker() {
     local dcmd="$1"