Next: Other Font Lock Variables, Previous: Font Lock Basics, Up: Font Lock Mode [Contents][Index]
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Î¥«¥¹¥¿¥Þ¥¤¥º¤Ë¤ª¤¤¤Æ
¤â¤Ã¤È¤â½ÅÍפÊÊÑ¿ô¤Ïfont-lock-keywords
¤Ç¤¹¡£
õº÷¤Ë´ð¤Å¤¯É½¼¨ÊýË¡¤ÎÁªÂò¤Ë¤ª¤±¤ëõº÷¾ò·ï¤ò»ØÄꤷ¤Þ¤¹¡£
¤³¤ÎÊÑ¿ô¤ÎÃͤϡ¢¶¯Ä´É½¼¨¤¹¤ë¤Ù¤¥¡¼¥ï¡¼¥É¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤³¤Î¥ê¥¹¥È¤ËÀµµ¬É½¸½¤ò½ñ¤¯¾ì¹ç¤Ë¤ÏÃí°Õ¤¹¤ë¤³¤È¡£ Éϼå¤Ê½ñ¤Êý¤ò¤·¤¿¥Ñ¥¿¡¼¥ó¤Ç¤¢¤ë¤È¡¢Æ°ºî¤ò·àŪ¤ËÃÙ¤¯¤¹¤ë¡ª
font-lock-keywords
¤Î³ÆÍ×ÁǤϡ¢
ÆÃÄê¤Î¥Æ¥¥¹¥È¤Îõ¤·Êý¤È
Åö³º¥Æ¥¥¹¥È¤ò¤É¤Î¤è¤¦¤Ë¶¯Ä´É½¼¨¤¹¤ë¤«»ØÄꤷ¤Þ¤¹¡£
¥Õ¥©¥ó¥È¥í¥Ã¥¯¡Êfont-lock¡Ë¥â¡¼¥É¤Ï¡¢
font-lock-keywords
¤ÎÍ×ÁǤò1¤Ä1¤Ä½èÍý¤·¡¢
³ÆÍ×ÁǤˤª¤¤¤Æ¡¢¤½¤ì¤Ë°ìÃפ¹¤ë¤â¤Î¤¹¤Ù¤Æ¤òõ¤·¤Æ½èÍý¤·¤Þ¤¹¡£
Ä̾¤¹¤Ç¤Ëɽ¼¨ÊýË¡¤òÁªÂòºÑ¤ß¤Î¥Æ¥¥¹¥ÈÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
¤½¤ì°Ê¹ß¤ÎÍ×ÁǤ˰ìÃפ·¤Æ¤âɽ¼¨ÊýË¡¤òÊѤ¨¤Þ¤»¤ó¡£
¤·¤«¤·¡¢highlighter¤ÎÍ×ÁÇoverride¤ò»È¤Ã¤Æ¡¢
°Û¤Ê¤ë¤Õ¤ë¤Þ¤¤¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
font-lock-keywords
¤Î³ÆÍ×ÁǤϤĤ®¤Î¤¤¤º¤ì¤«¤Î·Á¤Ç¤¹¡£
regexp
Àµµ¬É½¸½regexp¤Ë°ìÃפ·¤¿¤â¤Î¤Ï¤¹¤Ù¤Æ
font-lock-keyword-face
¤ò»È¤Ã¤Æ¶¯Ä´É½¼¨¤¹¤ë¡£
;; ¸ÉΩ¤·¤¿‘foo’¤Î½Ð¸½¤Ï
;; font-lock-keyword-face
¤Ç¶¯Ä´É½¼¨¤¹¤ë¡£
"\\<foo\\>"
´Ø¿ôregexp-opt
¡Êsee Syntax of Regexps¡Ë¤Ï¡¢
°Û¤Ê¤ëÊ£¿ô¸Ä¤Î¥¡¼¥ï¡¼¥É¤Ë°ìÃפ¹¤ëºÇŬ¤ÊÀµµ¬É½¸½¤ò
·×»»¤¹¤ë¤Î¤ËÍÍѤǤ¢¤ë¡£
function
´Ø¿ôfunction¤ò¸Æ¤Ó½Ð¤·¤Æ¥Æ¥¥¹¥È¤òõ¤·¡¢
¤½¤ì¤¬Ãµ¤·½Ð¤·¤¿¤â¤Î¤òfont-lock-keyword-face
¤ò»È¤Ã¤Æ¶¯Ä´É½¼¨¤¹¤ë¡£
function¤Ï¡¢Ãµº÷¸Â³¦¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
¤ß¤Ä¤«¤ì¤Ðnil
°Ê³°¤òÊÖ¤¹¤È¤È¤â¤Ë
¤ß¤Ä¤±¤¿Éôʬ¤òɽ¤¹¥Þ¥Ã¥Á¥Ç¡¼¥¿¤òÀßÄꤹ¤ë¡£
(matcher . match)
¤³¤Î¼ï¤ÎÍ×ÁǤǤϡ¢matcher¤Ï¡¢¾å¤Ë½Ò¤Ù¤¿Àµµ¬É½¸½¤«´Ø¿ô¤òɽ¤¹¡£ CDR¤Îmatch¤Ï¡¢¡Êmatcher¤Ë°ìÃפ·¤¿ÉôʬÁ´ÂΤΤ«¤ï¤ê¤Ë¡Ë ¶¯Ä´É½¼¨¤¹¤Ù¤matcher¤ÎÉôʬ¼°¤ò»ØÄꤹ¤ë¡£
;; ‘fubar’¤Î³Æ½Ð¸½¤Î‘bar’¤ò
;; font-lock-keyword-face
¤Ç¶¯Ä´É½¼¨
("fu\\(bar\\)" . 1)
Àµµ¬É½¸½matcher¤òºî¤ë¤¿¤á¤Ëregexp-opt
¤ò»È¤Ã¤¿¾ì¹ç¡¢
match¤ÎÃͤò·×»»¤¹¤ë¤Ë¤Ï
regexp-opt-depth
¡Êsee Syntax of Regexps¡Ë¤ò»È¤¨¤ë¡£
(matcher . facename)
¤³¤Î¼ï¤ÎÍ×ÁǤǤϡ¢facename¤Ï¡¢ ¶¯Ä´É½¼¨¤Ë»È¤¦¥Õ¥§¥¤¥¹Ì¾¤ò»ØÄꤹ¤ëÃͤòɽ¤¹¼°¤Ç¤¢¤ë¡£
;; ‘fubar’¤Î½Ð¸½¤Ï¡¢fubar-face
¤ÎÃͤÇ
;; ɽ¤µ¤ì¤¿¥Õ¥§¥¤¥¹¤ò»È¤Ã¤Æ¶¯Ä´É½¼¨
("fubar" . fubar-face)
(matcher . highlighter)
¤³¤Î¼ï¤ÎÍ×ÁǤǤϡ¢highlighter¤Ï¡¢ matcher¤Ë°ìÃפ·¤¿Éôʬ¤Î¶¯Ä´É½¼¨ÊýË¡¤ò»ØÄꤹ¤ë¥ê¥¹¥È¤Ç¤¢¤ë¡£ ¤Ä¤®¤Î·Á¤Ç¤¢¤ë¤³¤È¡£
(subexp facename override laxmatch)
CAR¤Îsubexp¤Ï¡¢ ¶¯Ä´É½¼¨¤¹¤Ù¤°ìÃ×Éôʬ¤ÎÉôʬ¼°¤ò»ØÄꤹ¤ëÀ°¿ô ¡Ê0¤Ï°ìÃ×ÉôʬÁ´ÂΤò°ÕÌ£¤¹¤ë¡Ë¤Ç¤¢¤ë¡£ 2ÈÖÌܤÎÍ×ÁÇfacename¤Ï¡¢¾å¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¥Õ¥§¥¤¥¹¤ò»ØÄꤹ¤ë¡£
highlighter¤ÎºÇ¸å¤Î2¤Ä¤ÎÍ×ÁÇ¡¢
override¤Èlaxmatch¤Ï¥Õ¥é¥°¤Ç¤¢¤ë¡£
override¤¬t
¤Ç¤¢¤ë¤È¡¢Åö³ºÍ×ÁǤϡ¢
font-lock-keywords
¤Î¤Þ¤¨¤ÎÍ×ÁǤǷèÄêºÑ¤ß¤Î
ɽ¼¨ÊýË¡¤ËÍ¥À褹¤ë¤³¤È¤òɽ¤¹¡£
keep
¤Ç¤¢¤ë¤È¡¢Â¾¤ÎÍ×ÁǤǤÏɽ¼¨ÊýË¡¤¬·èÄꤷ¤Æ¤¤¤Ê¤¤
³ÆÊ¸»ú¤Îɽ¼¨ÊýË¡¤òɽ¤¹¡£
prepend
¤Ç¤¢¤ë¤È¡¢
°Àface
¤ÎÀèÆ¬¤Ë¥Õ¥§¥¤¥¹facename¤òÄɲ乤롣
append
¤Ç¤¢¤ë¤È¡¢
°Àface
¤ÎËöÈø¤Ë¥Õ¥§¥¤¥¹facename¤òÄɲ乤롣
laxmatch¤¬nil
°Ê³°¤Ç¤¢¤ë¤È¡¢
matcher¤Ç°ìÃפ·¤¿¤â¤Î¤ÎÃæ¤ËsubexpÈÖÌܤÎÉôʬ¼°¤¬
¤Ê¤¯¤Æ¤â¥¨¥é¡¼¤È¤·¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¤³¤Î¼ï¤ÎÍ×ÁǤȤ½¤Îưºî¤ÎÎã¤ò¼¨¤¹¡£
;; ‘foo’¤ä‘bar’¤Î½Ð¸½¤Îɽ¼¨ÊýË¡¤¬¤¹¤Ç¤Ë·è¤Þ¤Ã¤Æ¤¤¤Æ¤â ;;foo-bar-face
¤Ç¶¯Ä´É½¼¨¤¹¤ë ;;foo-bar-face
¤ÎÃͤϥե§¥¤¥¹¤Ç¤¢¤ë¤³¤È ("foo\\|bar" 0 foo-bar-face t) ;; ´Ø¿ôfubar-match
¤¬¤ß¤Ä¤±¤¿³Æ½Ð¸½Æâ¤ÎºÇ½é¤ÎÉôʬ¼°¤ò ;;fubar-face
¤ÎÃͤ¬É½¤¹¥Õ¥§¥¤¥¹¤Ç¶¯Ä´É½¼¨¤¹¤ë (fubar-match 1 fubar-face)
(matcher highlighters…)
¤³¤Î¼ï¤ÎÍ×ÁǤϡ¢1¤Ä¤Îmatcher¤ËÂФ·¤Æ Ê£¿ô¤Î¥ê¥¹¥Èhighlighter¤ò»ØÄꤹ¤ë¡£ ¤³¤ì¤¬ÍÍѤǤ¢¤ë¤¿¤á¤Ë¤Ï¡¢ ³Æhighlighter¤Çsubexp¤ÎÃͤ¬°Û¤Ê¤ë¤³¤È¡£ ¤Ä¤Þ¤ê¡¢¤½¤ì¤¾¤ì¤òmatcher¤Î°Û¤Ê¤ëÉôʬ¼°¤ËŬÍѤǤ¤ë¤³¤È¡£
(eval . form)
form¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤¤¤Æfont-lock-keywords
¤Î¤³¤ÎÃͤ¬
»Ï¤á¤Æ»È¤ï¤ì¤¿¤È¤¤Ëɾ²Á¤¹¤Ù¤¼°¤Ç¤¢¤ë¡£
¤½¤ÎÃͤϡ¢¤³¤Îɽ¤Ë¤¢¤²¤¿·Á¤Î1¤Ä¤Ç¤¢¤ë¤³¤È¡£
·Ù¹ð¡§
font-lock-keywords
¤ÎÍ×ÁǤϡ¢
¹Ô¤ò¤Þ¤¿¤¬¤Ã¤Æ°ìÃפ¹¤ë¤è¤¦¤ËÀ߷פ·¤Ê¤¤¤³¤È¡£
¤½¤Î¤è¤¦¤Ê½èÍý¤Ï¿®ÍêÀ¤¬¤Ê¤¤¡£
font-lock-fontify-buffer
¤Ï¡¢¹Ô¤Ë¤Þ¤¿¤¬¤ë¥Ñ¥¿¡¼¥ó¤òÀµ¤·¤¯°·¤¨¤ë¤¬¡¢
ÆÉ¼Ô¤¬¥Ð¥Ã¥Õ¥¡¤òÊÔ½¸¤·¤¿¤È¤¤Î¹¹¿·½èÍý¤Ç¤Ï¡¢
°ìÅÙ¤Ë1¹Ô¤º¤Ä½èÍý¤¹¤ë¤¿¤á¤ËÀµ¤·¤¯°·¤¨¤Ê¤¤¡£