ひさしぶりに Emacs Lisp を書きました。ググりながら10分くらいで書いた適当なもの。
たとえば、全部小文字で書いたSQLを後から予約語だけ大文字にしたい、みたいなときに使う想定です。
フェイスが font-lock-keyword-face
になっている箇所を大文字にしているので、SQL の場合は sql-mode になっている状態で実行します。
(progn (goto-char (point-min)) (while (not (eobp)) (let ((faces-at-point (get-char-property (point) 'face))) (when (eq 'font-lock-keyword-face faces-at-point) (upcase-word 1)) (forward-char 1))))