একটি বড় মোড লেখার সময়, এটি প্রায়শই জানা দরকারী যে 'স্ট্রিংয়ের বিন্দুটি?' 'একটি মন্তব্যে বিন্দু?'
বেশিরভাগ প্রধান মোডগুলি প্রোগ্রামিং ভাষার পার্স করার চেষ্টা করছে বলে মনে হয়। উদাহরণ স্বরূপ:
python-syntax-contentকলsyntax-ppsshaskell-fill-paragraphকলsyntax-ppssএবংre-search-forwardc-in-comment-line-prefix-pচারপাশে এবং কল কল সরানlooking-atsp-point-in-commentকল করেsyntax-ppssকিন্তু এটি কোনও মন্তব্য ডেলিমেটারে রয়েছে কিনা তাও পরীক্ষা করে
তবে এটি কিছু ক্ষেত্রে কার্যকর হয় না। Org- মোড বাফারগুলিতে, সোর্স ব্লকের মন্তব্যগুলি এই পদ্ধতির দ্বারা সঠিকভাবে সনাক্ত করা যায় না।
এটিও অর্থহীন বলে মনে হচ্ছে, যেহেতু বাফার ইতিমধ্যে হাইলাইট করা মন্তব্যগুলি দেখাচ্ছে ।
পরিবর্তে, আপনি কেবল বিন্দুতে মুখগুলি পরীক্ষা করতে পারবেন:
(defun wh--get-faces (pos)
"Get all the font faces at POS."
(remq nil
(list
(get-char-property pos 'read-face-name)
(get-char-property pos 'face)
(plist-get (text-properties-at pos) 'face))))
(defun wh-string-p (pos)
"Return non-nil if POS is inside a string."
(memq 'font-lock-string-face (wh--get-faces pos)))
প্রধান মোডগুলি কেন এটি করে না? বাফারটি ইতিমধ্যে স্বীকৃত, তাই আমি এটি দ্রুত, আরও শক্তিশালী এবং কম কোডের প্রয়োজন হবে বলে আশা করব।
font-lock-mode? (এমন নয় যে আমার মনে হয় আপনার উচিত।)