마이너 모드에서 다양한 얼굴의 코드를 강조하고 싶습니다.
여기 내가 원하는 것에 가까운 스크린 샷이 있습니다.
내가 부족 한 가지는 주석 문자 갖는 #
에서을
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
하고 다른 포인트 상태를 가지며 얼굴을 반환하는 것 외에는 작동 하는 인터페이스에 대한 단서가 없다는 것입니다
.
누군가이 인터페이스를 설명 할 수 있습니까? 아마도 더 좋은 것이 있습니까?