জেডএস: এক্সিকিউটড কমান্ডটি স্বয়ংক্রিয়ভাবে পরিবর্তন করুন


9

আমি সম্প্রতি ম্যাকপোর্টসের মাধ্যমে আমার সিস্টেমে গ্র্যাক (জেনেরিক কালারাইজার) ইনস্টল করেছি, আমাকে প্রচুর কমান্ডের জন্য রঙিন আউটপুট পাওয়ার ক্ষমতা প্রদান করে যা ডিফল্টরূপে এটি সমর্থন করে না (নীচের স্ক্রিনশটটি দেখুন)। ট্রেস্রোয়েট সহ জিআরসি উদাহরণ।
আমি grc স্বয়ংক্রিয়ভাবে তৈরি করতে চাই, তবে নির্দিষ্ট কমান্ডের জন্য নয়, প্রতিটি কমান্ডের জন্য। আমি আমার শেল হিসাবে zsh ব্যবহার করি।

মূলত আমি যখনই মৃত্যুদন্ড কার্যকর command -parameter 1 2 3করি তখন আমি এটি স্বয়ংক্রিয়ভাবে কার্যকর করতে চাই grc command -parameter 1 2 3
আমি এলিয়াস ব্যবহার করতে চাইছি না, উদাহরণস্বরূপ tracerouteউপন্যাস grc tracerouteহিসাবে, কারণ আমি গ্রিসকে রঙিন করার জন্য আরও বেশি কমান্ড যুক্ত করছি।

আমি .zshrc এর জন্য প্রিক্সেক এবং পূর্বনির্ধারিত কনফিগারেশনগুলিতে সন্ধান করেছি, তবে আমি যা খুঁজছি তা অর্জন করার কোনও উপায় খুঁজে পাইনি।

উত্তর:


6

আপনি গ্রহণযোগ্য-লাইন উইজেটটিকে নতুন করে সংজ্ঞায়িত করে এটি করতে পারেন:

add-grc() { [[ $BUFFER = grc* ]] || BUFFER="grc $BUFFER"; zle .$WIDGET "$@"; }
zle -N accept-line add-grc

তবে এটি "i (..)", "var = x", "f () {" এর মতো কমান্ডগুলির জন্য সমস্যা সৃষ্টি করতে পারে ...


ভাল যুক্তি. এই সমাধানটি নিজেকে তৈরি করতে পারে এমন কোনও সমস্যা আমি ভাবতে পারি না তবে আপনি এই পক্ষে ঠিকই আছেন। সময় দেয়ার জন্য ধন্যবাদ.
নিত

এই পদ্ধতির সাথে একটি অপূর্ণতা হ'ল ইতিহাস grcপ্রতিটি কমান্ডের শুরুতে প্রদর্শিত হবে ।
জোয়েটউইলড

6

অন্য বিকল্প। একই ধরণের সম্ভাব্য সমস্যা:

TRAPDEBUG() { eval "grc $ZSH_DEBUG_CMD"; setopt errexit; }

আমি এখানে পোস্ট করা সমাধানগুলির ব্যতিক্রমগুলি খুঁজে বের করার পরিবর্তে "জিআরসি" প্রয়োজন এমন প্রতিটি কমান্ডের জন্য একটি "উলাম" ব্যবহার করব।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.