Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

need help customizing font-lock colors in syntax highlighting (fortran)

195 views
Skip to first unread message

bcba...@gmail.com

unread,
Mar 31, 2008, 3:41:35 PM3/31/08
to
Hello,

I've been using emacs for a long time, mostly for Fortran and Python
programming. I'm currently porting some code from fixed-format to
free-format Fortran, which means the extension of the source file
would change from ".f" to ".f90" -- and the code, which is standard
Fortran 95, would have the F90 filter (f90.el by Glenn Morris) applied
instead of the fortran.el (fortran mode) filter.

In the old fortran mode filter, intrinsics such as mod, exp, and
others would be highlighting in a different color (say, pink) than the
control flow commands such as if/endif, do/enddo (which would be in
purple). In the F90 mode, these commands are all highlighted in the
same color. I find this to be undesirable, but I'm not sure how to
change it. Poking around the f90.el source and google tells me it
will involve something like set-face-foreground of a font-lock mode,
but I don't know what to do.

Can anyone help me out in getting my syntax highlighting customized?
Or should I email the maintainer of the filters? I am using emacs
22.1 on Fedora 8 and also Aquamacs 1.3 (based on emacs 22.1) on OS X
Leopard.

thanks,

Brian

Glenn Morris

unread,
Apr 1, 2008, 3:29:14 AM4/1/08
to
bcba...@gmail.com wrote:

> In the old fortran mode filter, intrinsics such as mod, exp, and
> others would be highlighting in a different color (say, pink) than the
> control flow commands such as if/endif, do/enddo (which would be in
> purple). In the F90 mode, these commands are all highlighted in the
> same color. I find this to be undesirable, but I'm not sure how to
> change it.

I don't really know why it is like it is, but it is. Anyway, add to
~/.emacs:

(eval-after-load "f90"
'(progn
(setq f90-font-lock-keywords-3
(append f90-font-lock-keywords-2
(list
f90-keywords-level-3-re
f90-operators-re
(list f90-procedures-re '(1 font-lock-builtin-face keep))
"\\<real\\>"))
f90-font-lock-keywords-4 (append f90-font-lock-keywords-3
(list f90-hpf-keywords-re)))))

Peter Dyballa

unread,
Apr 1, 2008, 4:59:14 AM4/1/08
to bcba...@gmail.com, help-gn...@gnu.org

Am 31.03.2008 um 21:41 schrieb bcbarnes:
> In the F90 mode, these commands are all highlighted in the
> same color. I find this to be undesirable, but I'm not sure how to
> change it. Poking around the f90.el source and google tells me it
> will involve something like set-face-foreground of a font-lock mode,
> but I don't know what to do.


In case you want to change the colour, you can start with C-u C-x =
on a character in the unwanted face (font and colour). A *Help*
buffer opens, allowing you to customise the settings in the
"paragraph" where it describes the text properties.

In your case it will fail, because apparently different sorts of key
words are mixed. So you would change the face for all of them again,
for the whole set or "mixed" case.

--
Greetings

Pete

A morning without coffee is like something without something else.


bcba...@gmail.com

unread,
Apr 1, 2008, 11:54:38 AM4/1/08
to
On Apr 1, 2:29 am, Glenn Morris <rgm+n...@stanford.edu> wrote:


Excellent, Glenn! That does exactly what I wanted. Tested in both
emacs 22.1 and Aquamacs 1.3 / OS X. Thanks.

-Brian

0 new messages