Emacs: শেল-স্ক্রিপ্ট-মোডে && এর পরে ইন্ডেন্ট চাপুন


3

শেল-স্ক্রিপ্ট-মোডে, যখন একটি লাইন শেষ হয় &&, Emacs নিম্নলিখিত লাইন ইন্ডেন্ট হবে। যে বন্ধ সুইচ করার একটি উপায় আছে? (আমি আমার বিবৃতি অধিকাংশ concatenating করছি &&। এই চেয়ে ত্রুটি হ্যান্ডলিং উপর সূক্ষ্ম নিয়ন্ত্রণ দেয় set -e।)

উত্তর:


1

শেল স্ক্রিপ্টগুলির জন্য ইন্ডেন্টেশন কোডটি এমএমএক্স -24 এর সময় সম্পূর্ণভাবে পুনঃলিখন করা হয়েছে, এমএমএইচ -4 ব্যবহার করার জন্য, এবং এমএমএইচ -24 এর জীবনধারায় এসএমআইই নিজেই প্রবর্তিত হয়েছে, তাই সর্বোত্তম সমাধান আপনার সঠিক ইম্যাক্স সংস্করণের উপর নির্ভর করে, তবে ইম্যাক্স- 24.5 আপনি করতে সক্ষম হওয়া উচিত:

  • ভুল ইন্ডেন্টেশন সঙ্গে লাইন যান।
  • আদর্শ M-x smie-config-show-indent যা আপনাকে নিয়ম দেখাতে হবে যে এই লাইন ইন্ডেন্ট ব্যবহার করা হয়। এটি এমন কিছু বলতে পারে:

    ব্যবহার করা বিধি:: "& amp; amp;" - & gt; দ্বারা (কলাম। 19),: আগে "[" - & gt; নিল,: Elem মৌলিক - & gt; 4,: "& amp; amp;" - & gt; দ্বারা শূন্য

দুঃখজনকভাবে (column . 19) সেখানে বেশিরভাগই বোঝায় যে আপনি এই আচরণটিকে "সহজ" পথে পরিবর্তন করতে পারবেন না (যেমন আপনি এটি পরিবর্তন করতে পারবেন না smie-config-set-indent )।

কিন্তু আমি মনে করি নিম্নলিখিতটি করা উচিত:

(defun my-sh-smie-sh-rules (origfun kind token)
  (pcase (cons kind token)
    (`(:before . "&&") nil)
    (_ (funcall origfun kind token))))
(advice-add 'sh-smie-sh-rules :around #'my-sh-smie-sh-rules)

আপনি করতে পারেন M-x report-emacs-bug এবং অনুরোধ করুন যে এই ধরনের একটি কনফিগার করা সহজ, এটি সম্ভবত একটি মোটামুটি সাধারণ ইন্ডেন্টেশন শৈলী।

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