আমার মধ্যে বেশ কয়েকটি শেল ফাংশন সংজ্ঞায়িত হয়েছে .zshrc
যা টাইপিংয়ের উপর সংরক্ষণ করে এবং স্ক্রিনের সাথে একীকরণের অনুমতি দেয়। উদাহরণ স্বরূপ:
function s()
{
screen -t "$1" ssh "$@"
}
যাইহোক, আমি যখন এই শেল ফাংশনগুলি ব্যবহার করি, তখন আমি zsh এর বিল্ট ইন কমান্ড সমাপ্তি বৈশিষ্ট্যগুলির সুবিধা নিতে পারি না। (এসএসএইচের ক্ষেত্রে, পরিচিত_হোস্ট এবং ssh_config এর উপর ভিত্তি করে হোস্টনামগুলি স্বয়ংক্রিয়ভাবে সম্পূর্ণ করা হবে)। যে কমান্ডগুলির জন্য মোড়ক তৈরি করেছি তার বিদ্যমান সমাপ্তি পদ্ধতিতে প্রবেশ করার পছন্দের উপায়টি কী?
সম্পাদনা করুন:
গিলসকে নীচে তার উত্তরের জন্য ধন্যবাদ। কমদেফ ব্যবহার করা এটি করার উপায় হিসাবে উপস্থিত বলে মনে হয়, তবে মজার বিষয় হল এটি অভিন্ন কাজ করবে বলে মনে হয় না। এই ক্ষেত্রে, আমার নিম্নলিখিত সেটআপ রয়েছে:
function s()
{
screen -t "$1" ssh "$@"
}
function m()
{
screen -t "man.$1" man "$1"
}
compdef $_comps[man] m
compdef $_comps[ssh] s
আমার মোড়ক ফাংশনের সমাপ্তি 'এম' প্রত্যাশার মতো কাজ করে, তবে আমার ফাংশন 'গুলি' এর জন্য কাজ শেষ হয় না; হোস্ট-নেমগুলি সম্পূর্ণ করার চেষ্টা করার পরিবর্তে, আমি যখন 'ট্যাব' চাপছি তখন ফাইলগুলির একটি তালিকা সরবরাহ করে ডিফল্ট স্বতঃপূরণে ফিরে যেতে দেখা যায়। যেভাবে এসএসএইচ সমাপ্তি পরিচালিত হয় তাতে কিছুটা অদ্ভুততা রয়েছে যার অর্থ আমাকে আরও কিছু করা দরকার?