다음 코드를 Emacs 루비 모드에서 입력하면 "# {foo}"가 둘러싸는 문자열과 다른 색상으로 표시됩니다. 내 이맥스 모드에서 어떻게해야합니까? 나는 루비 모드 소스 코드를 해독하려했지만 적당한 시간 내에 그것을 이해할 수 없었다. 루비 - mode.el는 font-lock-syntactic-keywords
을 설정하는 경우에 대한Emacs font-lock-mode에서 문자열 리터럴 내에서 변수 참조를 바꿔보기
"a #{foo} a"
다음 코드를 Emacs 루비 모드에서 입력하면 "# {foo}"가 둘러싸는 문자열과 다른 색상으로 표시됩니다. 내 이맥스 모드에서 어떻게해야합니까? 나는 루비 모드 소스 코드를 해독하려했지만 적당한 시간 내에 그것을 이해할 수 없었다. 루비 - mode.el는 font-lock-syntactic-keywords
을 설정하는 경우에 대한Emacs font-lock-mode에서 문자열 리터럴 내에서 변수 참조를 바꿔보기
"a #{foo} a"
검색 :
다음은 fontification의 동일한 유형을 달성하기 위해 사용해야하는 것입니다 유사한 font-lock-keywords
변수에 대한 몇 가지 문서입니다.
마지막으로 알아 냈습니다. 대답은 글 꼴화 규칙의 "override"매개 변수가 t로 설정되어야한다는 것입니다. 즉, 지정된면이 문자열면을 덮어 쓰게됩니다. 자세한 내용은 "font-lock-keywords"변수에 대한 설명서를 참조하십시오. 다음은 그 예입니다.
(define-derived-mode temp-mode fundamental-mode "Temp"
"Temporary major mode."
(set (make-local-variable 'font-lock-defaults)
'((temp-mode-font-lock-keywords) nil nil nil nil)))
(defconst temp-mode-font-lock-keywords
(list (list "$[A-Za-z0-9]+" 0 font-lock-variable-name-face t)))