2010-02-10 26 views
5

Khi thiết lập phông chữ-khóa-từ khóa cho chế độ GNU/Emac, có thể đánh dấu nhiều biểu thức con của cụm từ thông dụng bằng một đối sánh đơn lẻ không? Những gì tôi muốn làm là một cái gì đó dọc theo dòng:Phông chữ-khóa-từ khóa: làm nổi bật nhiều biểu thức phụ

("\\(foo\\)-\\(bar\\)" '(1 foo-face) '(2 bar-face)) 

Cú pháp chính xác cho thứ gì đó như thế - hoặc tôi phải chia thành hai đối sánh riêng biệt?

Trả lời

5

Hãy thử một cái gì đó như thế này:

("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face)) 

(ví dụ giống như bạn nhưng mà không có dấu ngoặc kép phụ).

Tôi nói điều này bởi vì tôi có các bit khác nhau như thế này trong các định nghĩa từ khóa-khóa-từ khóa tùy chỉnh của tôi. Một số trong số họ có nil t về sự kết thúc của một giây, như thế này:

("\\(foo\\)-\\(bar\\)" (1 foo-face) (2 bar-face nil t)) 

tương ứng với các OVERRIDELAXMATCH cờ tùy chọn và có thể cần thiết tùy theo hoàn cảnh chính xác của bạn.

Tài liệu cho font-lock-keywords thảo luận vấn đề này ở mức độ sâu, mặc dù không phải lúc nào cũng đơn giản nhất để thực hiện - tôi thấy dễ dàng hơn khi sao chép cài đặt làm việc của người khác, chẳng hạn như giá trị hiện tại của c-font-lock-keywords-3.

Các vấn đề liên quan