मेरे पास कुछ शेल फंक्शन्स हैं .zshrc
जो मेरे में टाइप करते हैं और स्क्रीन के साथ एकीकरण की अनुमति देते हैं। उदाहरण के लिए:
function s()
{
screen -t "$1" ssh "$@"
}
हालाँकि, जब मैं इन शेल फ़ंक्शंस का उपयोग करता हूं, तो मैं कमांड के पूरा होने की विशेषताओं में zsh के अंतर्निहित का लाभ नहीं उठा सकता। (SSH के मामले में, जाने-माने और ssh_config के आधार पर स्वचालित रूप से होस्टनामों को पूरा करना)। मैंने जिन आदेशों के लिए रैपर बनाए हैं, उनके लिए मौजूदा पूर्ण तंत्र में हुक करने का पसंदीदा तरीका क्या है?
संपादित करें:
उसके जवाब के लिए गिल्स को धन्यवाद। कॉम्पडे का उपयोग करना ऐसा करने का तरीका प्रतीत होता है, लेकिन दिलचस्प बात यह है कि यह समान रूप से काम नहीं करता है। इस मामले में, मेरे पास निम्न सेटअप है:
function s()
{
screen -t "$1" ssh "$@"
}
function m()
{
screen -t "man.$1" man "$1"
}
compdef $_comps[man] m
compdef $_comps[ssh] s
मेरे रैपर फंक्शन 'एम' के लिए उम्मीद के मुताबिक काम करना, हालांकि मेरे फंक्शन के लिए पूरा नहीं होता है। होस्टनाम पूरा करने का प्रयास करने के बजाय, यह 'टैब' से टकरा जाने पर मुझे फ़ाइलों की एक सूची प्रदान करके डिफ़ॉल्ट स्वत: पूर्णता में वापस आ जाता है। क्या एसएसएच पूरा करने के तरीके में कुछ विषमता है, जिसका अर्थ है कि मुझे आगे कुछ करने की आवश्यकता है?