আমি একটি ছোটখাটো মোডে বিভিন্ন মুখের সাথে কোডটি হাইলাইট করতে চাই।
এখানে একটি স্ক্রিনশট যা আমি চাই তার নিকটবর্তী:
একটি জিনিস যা আমি মিস করছি তা মন্তব্যে অন্তর্ভুক্ত #রয়েছে
font-lock-comment-face। ধারণাটি এমন মন্তব্য করা উচিত যা প্লেইন পাঠ্য হিসাবে হাইলাইট করা একটি রূপরেখার সাথে "সম্পর্কিত", তাই এটি পড়া সহজ। তাদের স্বাভাবিক কম বিশিষ্ট মুখের সাথে নিয়মিত মন্তব্য করার সময়।
আমি যে কোডটি ব্যবহার করেছি তা এখানে:
(setq-local font-lock-defaults
'(python-font-lock-keywords
nil nil nil nil
(font-lock-syntactic-face-function
. lpy-font-lock-syntactic-face-function)))
(defun lpy-font-lock-syntactic-face-function (state)
"Return syntactic face given STATE.
Returns 'defalt face for comments that belong to an outline."
(cond ((nth 3 state)
(if (python-info-docstring-p state)
font-lock-doc-face
font-lock-string-face))
((save-excursion
(while (and (> (point) (point-min))
(progn (move-beginning-of-line 0)
(eq (char-after) ?\#))))
(forward-line 1)
(looking-at "#\\*+ "))
'default)
(t
font-lock-comment-face)))
জিনিসটি হ'ল, ইন্টারফেসটি কীভাবে font-lock-syntactic-face-functionপরিচালিত হয় সে সম্পর্কে আমার কোনও ধারণা নেই
, এটি একটি জটিল ডেটা স্ট্রাকচার গ্রহণ করে state, আলাদা পয়েন্ট স্টেট থাকে এবং একটি চেহারা দেয়।
কেউ এই ইন্টারফেস ব্যাখ্যা করতে পারে? এর চেয়ে ভাল আর কি আছে?
