मैं एक मामूली मोड में विभिन्न चेहरों के साथ कोड को उजागर करना चाहता हूं।
यहाँ एक स्क्रीनशॉट है जो मैं चाहता हूँ के करीब है:
एक बात जो मुझे याद आ रही है, वह है टिप्पणी चार्ट #
में
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
, अलग-अलग बिंदु स्थिति होती है, और एक चेहरा देता है।
कोई इस इंटरफ़ेस की व्याख्या कर सकता है? वहाँ एक बेहतर शायद है?