[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: symbols, operators highlighting (+, -, =, <, >, etc)
From: |
Anselm Helbig |
Subject: |
Re: symbols, operators highlighting (+, -, =, <, >, etc) |
Date: |
Sat, 02 May 2009 12:58:57 +0200 |
User-agent: |
SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.7 Emacs/22.3 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) |
Hi Laurens!
> ;;------------------------------------------------------------------------------
> ;; Highlight operators
> (font-lock-add-keywords 'python-mode
> '(("\\." . font-lock-warning-face)
> ("else:" . font-lock-keyword-face)
> ("\\+" . font-lock-warning-face)
> ("\\-" . font-lock-warning-face)
> ("\=" . font-lock-warning-face)
> (":" . font-lock-warning-face)
> ("\\[" . font-lock-warning-face)
> ("\\]" . font-lock-warning-face)
> ("," . font-lock-warning-face)
> ("!" . font-lock-warning-face)
> ("(" . font-lock-warning-face)
> (")" . font-lock-warning-face)
> ("\<" . font-lock-warning-face)
> ("\>" . font-lock-warning-face)))
Well, that doesn't look too bad. You can condense this code a bit:
(font-lock-add-keywords
'python-mode
(cons
(regexp-opt '("." "else:" "+" "-" "=" ":" "[" "]" "," "!" "(" ")" "<" ">"))
'font-lock-warning-face))
> the problem is that this only works for python, and I don't want to
> copy/paste this to other modes, there must be a more elegant
> solution...
You can not copy this for other modes, anyway, as other modes have
different keywords. But of course, it can be done:
font-lock-add-keywords can take nil as the first argument which causes
it to add the keywords for the current buffer. We only need to make
sure it runs every time you open a file, this can be done with the
find-file-hook:
(defun my-font-lock-keywords-hook ()
(font-lock-add-keywords
nil
(cons
(regexp-opt '("." "else:" "+" "-" "=" ":" "[" "]" "," "!" "(" ")" "<" ">"))
'font-lock-warning-face)))
(add-hook 'find-file-hook 'my-font-lock-keywords-hook)
> the other problem is that I'm abusing the warning face (because I
> don't know how to create a face)
Using something like font-lock-warning-face has the benefit that it
works with different color themes. You can define your own faces with
"defface", look it up in the elisp manual: (info "(elisp)Defining Faces")
Happy hacking!
--
Anselm Helbig
mailto:anselm.helbig+news2009@googlemail.com
- symbols, operators highlighting (+, -, =, <, >, etc), ex, 2009/05/02
- Re: symbols, operators highlighting (+, -, =, <, >, etc),
Anselm Helbig <=
- Prev by Date:
Re: using front from menu in .emacs
- Next by Date:
symbols, operators highlighting (+, -, =, <, >, etc)
- Previous by thread:
symbols, operators highlighting (+, -, =, <, >, etc)
- Next by thread:
Re: copying and pasting in emacs
- Index(es):