emacs printf 형식 지정자 Font Lock(highlight) 관련...

primewizard의 이미지

형식 지정자 highlight가 vim에서 컬러 스킴에 따라 안 되는 경우도 있어서 emacs도 테마에 따라 그런 줄 알았는데
아래 글을 읽고
http://kldp.org/node/119190
emacs를 테스트해보니 "%d" 같은 형식 지정자가 highlight 안 되더군요.
그래서 /usr/share/vim/vim71/syntax/c.vim 있는 정규식 참고해서 만들어 봤는데

윽... emacs 정규식 때문에 머리가 띵~~! ..... --;
(정규식은 vim이 편한 듯...)

암튼 더 이상은 눈이 아파서 못 보겠습니다. ^^;
그래서 시간있으신 분은 같이 검증해서 같이 사용했으면 좋겠습니다.

.emacs

(defvar font-lock-format-specifier-face		'font-lock-format-specifier-face
  "Face name to use for format specifiers.")
 
(defface font-lock-format-specifier-face
  '((t (:foreground "OrangeRed1")))
  "Font Lock mode face used to highlight format specifiers."
  :group 'font-lock-faces)
 
(add-hook 'c-mode-common-hook
	  (lambda ()
	    (font-lock-add-keywords nil
				    '(("[^%]\\(%\\([[:digit:]]+\\$\\)?[-+' #0*]*\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\(\\.\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\)?\\([hlLjzt]\\|ll\\|hh\\)?\\([aAbdiuoxXDOUfFeEgGcCsSpn]\\|\\[\\^?.[^]]*\\]\\)\\)"
				       1 font-lock-format-specifier-face t)
				      ("\\(%%\\)" 
				       1 font-lock-format-specifier-face t)) )))

test.c
#include <stdio.h>
 
int main()
{
	printf("Characters: %c %c \n", 'a', 65);
	printf("Decimals: %d %ld\n", 1977, 650000L);
	printf("Preceding with blanks: %10d \n", 1977);
	printf("Preceding with zeros: %010d \n", 1977);
	printf("Some different radixes: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
	printf("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
	printf("Width trick: %*d \n", 5, 10);
	printf("%s \n", "A string");
 
	printf("|%10d|%-10d|%010d|%10x|\n", 11, 22, 33, 44, 55);
	printf("|%#10x|%16lx|%16llx|%16hhx|", 11, 22, 33, 44, 55);
 
	printf("%lf \t[%07.03lf] \n", 3.5, 3.5);
 
	return 0;
}

oppor의 이미지

어딘가에 누군가가 만들어 놓았을지도...

primewizard님. ECB 쓰시는것 같던데
http://kldp.org/node/119211
위의 문제 없나요?
ECB Directories 버퍼에서 히든 디렉토리가 대부분 나오지 않는 현상인데
저만 그런건지 궁금합니다.

jongi의 이미지


이상한 점을 발견하면 바로 보고하겠습니다. ^^

--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)