মাছের মতো সিনট্যাক্স হাইলাইট করার জন্য কি বাশ পাওয়ার কোনও উপায় আছে?


41

ইন মাছ শেল , প্রকৃত কমান্ড-লাইন সিন্টেক্স হাইলাইট হল:

এখানে চিত্র বর্ণনা লিখুন

বাশে এই একই আচরণ পাওয়ার কোনও উপায় আছে কি?

এখানে ঠিক এমন কিছু আছে তবে zsh এর জন্য, বাশ নয়। এটি কি বাশকে পোর্ট করা যেতে পারে?

যারা প্রদত্ত স্ক্রিনশট, ব্যাখ্যা বা লিঙ্কটি বুঝতে পারে না তাদের জন্য স্পষ্ট করার জন্য: আমি টার্মিনালে প্রবেশ করা প্রকৃত পাঠ্যটি হাইলাইট করতে চাই। কমান্ড, বন্ধনী, কোটস ইত্যাদি।


ভাববেন না যে ব্যাশ zsh এর মতো প্লাগইন গ্রহণ করে, সুতরাং এটির জন্য ব্যাশ শেল / বাইনারি কাস্টম বিল্ডের প্রয়োজন হতে পারে। এর পরিবর্তে শুধু মাছ ব্যবহার না করার কোনও কারণ? এছাড়াও, আমাকে চারপাশে খেলতে অন্য শেলটির দিকে ইশারা করার জন্য ধন্যবাদ এবং আমি হাহার কয়েকটি উন্নত বৈশিষ্ট্য শিখতে পারি কিনা তা দেখার জন্য ধন্যবাদ।
ম্যাট্রিক্স মোল

1
@ ম্যাট্রিক্স: আমি মাছ ব্যবহার করতে পারি না কারণ আমার খুব জটিল বাশ কনফিগারেশন রয়েছে যা আমি ছেড়ে দিতে পারিনি।
ওফার্স

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

1
এটি ব্যাশ শেখার পক্ষে অত্যন্ত উপকারী হবে, কারণ এটি পুরোপুরি ভিন্ন উপায়ে খেলতে দেয়। কেবল সহজেই চিহ্নিত করা যে আপনি একটি বিশেষ চরিত্রের হাত থেকে বাঁচতে ভুলে গিয়েছিলেন মূল্যবান হতে পারে।
সিরাপ

উত্তর:


8

বাশ readlineইন্টারেক্টিভ ইনপুট জন্য ব্যবহার করে , সুতরাং সিন্ট্যাক্স হাইলাইটিং যে প্রোগ্রামে প্রয়োগ করা প্রয়োজন। এই জাতীয় বৈশিষ্ট্যটি কীভাবে কোড করা যায় সে সম্পর্কে আমি একটি গুগল গ্রুপের আলোচনা পেয়েছি ।

ফিশ শেলটি তার নিজস্ব লাইন সম্পাদক ব্যবহার করে যা সেই প্রোগ্রামের সাথে নির্দিষ্ট এবং সরাসরি পোর্ট করা যায় না।

আপনি এটি দেখতে পাবেন যা zshব্যাশের সাথে খুব মিল, এবং এর লাইন সম্পাদকটি প্রসারিতZsh এ এই বৈশিষ্ট্যটি সক্ষম করতে আমি zsh- সিনট্যাক্স-হাইলাইটিং পেয়েছি ।


1

জিএনইউ বাশে (বা জিএনইউ রিডলাইন) সিনট্যাক্স হাইলাইট করার সহজ উপায় নেই তবে বিল্টিন কমান্ডটি ব্যবহার করে সমস্ত ব্যবহারকারীর ইনপুটগুলি শেল ফাংশনে আবদ্ধ করে নীতিগতভাবে আপনার নিজের লাইন সম্পাদকটি ব্যাশ স্ক্রিপ্টগুলিতে প্রয়োগ করা সম্ভব bind -x 'BYTE: SHELL-COMMAND'। আপনার নিজস্ব লাইন সম্পাদকটিতে সিনট্যাক্স হাইলাইট করার বৈশিষ্ট্যটি অবশ্যই সংহত করা সম্ভব।

আসলে আমি ble.shসিন্ট্যাক্স হাইলাইটিং এবং স্বতঃ-পরামর্শ মত বৈশিষ্ট্য সহ একটি লাইন সম্পাদক বাস্তবায়ন করেছি implemented এটি বাশ --.০-5.০ সমর্থন করে। যেহেতু এটি (প্রায়-) খাঁটি বাশ স্ক্রিপ্টগুলিতে লেখা আছে, আপনি কেবল sourceস্ক্রিপ্টটি এতে করতে পারেন ~/.bashrc। এখানে সেটআপ একটি নমুনা ble.shbashrc (দেখুন README বিস্তারিত জানার জন্য):

$ git clone https://github.com/akinomyoga/ble.sh.git
$ cd ble.sh
$ make
$ make INSDIR="$HOME/.local/share/blesh" install
# bashrc

# Add the following line at the beginning of bashrc
[[ $- == *i* ]] &&
  source "$HOME/.local/share/blesh/ble.sh" --attach=none

# ... other bashrc settings ...

# Add the following line at the end of bashrc
((_ble_bash)) && ble-attach

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

হ্যাঁ, আমাকে স্বীকার করতে হবে এটি প্রকৃতপক্ষে স্ব-প্রচার , তবে আমি বিশ্বাস করি যে এটি এমন বৈশিষ্ট্যগুলি চায় এমন লোকদের সহায়তা করে। যদি সমস্যা থাকে তবে আমি এটির প্রশংসা করব যদি আপনি আমাকে মন্তব্য করে বলতে পারেন।


-1

আমি মনে করি সিনট্যাক্স হাইলাইটিং শেল পর্যায়ে কিন্তু ইন্টারফেস স্তর (শুধু আমার মতামত -আর এ ঘটা উচিত অন্য কারো , এটা seems-) তাই আমি উদাহরণস্বরূপ, টার্মিনাল বা আপনার প্রিয় কনসোল জন্য "প্লাগ-ইন" মধ্যে দেখাবে এই প্লাগ জন্য কেট সাহায্য করতে পারে, বা এই অন্যটি যা ন্যানোতে সিনট্যাক্স হাইলাইট করে

এখানে টার্মিনালে কীভাবে সিনট্যাক্স হাইলাইট করা যায় সে সম্পর্কে আরও আলোচনা করা হয়েছে:

.বাশ_প্রফাইলে উপনাম ls = 'ls -G' যুক্ত করুন।

যদিও এখানে কিভাবে আরও ভালভাবে ব্যাখ্যা করা হয়েছে

আশা করি এটা সাহায্য করবে


11
দেখে মনে হচ্ছে আপনি শেলটিতে নয়, সম্পাদকগুলিতে কীভাবে সিনট্যাক্স হাইলাইটিং সেট আপ করবেন তার উত্তর দিচ্ছেন। Ls-colorization এমনকি "সিনট্যাক্স" হাইলাইট নয়।
কাইল স্ট্র্যান্ড 23

আমি মনে করি আপনি সমাধানের চেয়ে শব্দার্থবিজ্ঞানের দিকে বেশি মনোযোগ দিচ্ছেন, লিঙ্কগুলি থেকে কোডটি দিয়েছিলেন এবং সমাধানের প্রস্তাব দিয়েছি আমি
ব্যাশে

10
আসল প্রশ্নটি প্রকৃত সিনট্যাক্স হাইলাইটিং সম্পর্কে আসলে বেশ স্পষ্ট। এটি ফিশ শেলের স্ক্রিনশট এবং চূড়ান্ত বাক্য উভয় দ্বারা দেখানো হয়েছে: "আমি টার্মিনালে প্রবেশ করানো প্রকৃত পাঠ্যটি হাইলাইট করতে চাই The কমান্ড, বন্ধনী, কোটস, ইত্যাদি" "
কাইল স্ট্র্যান্ড 16

9
আমি যেমন বলেছি, এটি "সিনট্যাক্স" হাইলাইট নয়। এগুলি lsফাইল টাইপের উপর ভিত্তি করে কমান্ডের আউটপুট হাইলাইট করছে , যার শেল সিনট্যাক্সের সাথে কোনও সম্পর্ক নেই।
কাইল স্ট্র্যান্ড 20

2
জেডএস ( github.com/zsh-users/zsh-syntax-hightlighting ) এবং ফিশ ( ফিশেলশাল / ডকস / কর্নার / টিউটোরিয়াল html ) উভয়ের সিনট্যাক্স হাইলাইট রয়েছে, এই প্রশ্নটি অবশ্যই বাশের জন্য অনুরূপ বৈশিষ্ট্য সম্পর্কে জিজ্ঞাসা করছে। এমন একটি বৈশিষ্ট্য জিজ্ঞাসা করার জন্য এটি সম্পূর্ণ বৈধ অনুরোধ যা "প্রয়োগ করা এবং ধারাবাহিকভাবে রাখা শক্ত" বিশেষত যখন অন্যান্য শেলগুলিতে এটি ইতিমধ্যে বিদ্যমান
ব্র্যান্ডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.