* C type fontification help
@ 2003-05-19 21:35 Kin Cho
2003-05-19 22:42 ` Stefan Monnier
0 siblings, 1 reply; 3+ messages in thread
From: Kin Cho @ 2003-05-19 21:35 UTC (permalink / raw)
Hi,
I need help fontifying "FOO(a)" as type and "bar" as variable below:
struct foo {
FOO(a) bar;
};
I tried adding "FOO([^)]+)" to c-font-lock-extra-types but it
doens't help because c-font-lock-extra-types doens't expect word
delimiters.
Also I'd like to fontify "foobar" below as a variable.
void (*foobar)(char *);
The fontification is important to me because I'm using them to
extract semantic information from header files.
Thanks.
-kin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: C type fontification help
2003-05-19 21:35 C type fontification help Kin Cho
@ 2003-05-19 22:42 ` Stefan Monnier
2003-05-22 17:42 ` Kin Cho
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2003-05-19 22:42 UTC (permalink / raw)
> I need help fontifying "FOO(a)" as type and "bar" as variable below:
> struct foo {
> FOO(a) bar;
> };
> I tried adding "FOO([^)]+)" to c-font-lock-extra-types but it
> doens't help because c-font-lock-extra-types doens't expect word
> delimiters.
You might want to try something like
(add-hook 'c-mode-hook
(lambda ()
(set (make-local-variable 'font-lock-syntactic-keywords)
'(("FOO([^)]+)" (0 '(2))))))
To first change the syntax-class of the open and close paren to "word".
That's pretty ugly but it should work (probably with some fiddling).
Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: C type fontification help
2003-05-19 22:42 ` Stefan Monnier
@ 2003-05-22 17:42 ` Kin Cho
0 siblings, 0 replies; 3+ messages in thread
From: Kin Cho @ 2003-05-22 17:42 UTC (permalink / raw)
"Stefan Monnier" <monnier+gnu.emacs.help/news/@flint.cs.yale.edu> writes:
> > I need help fontifying "FOO(a)" as type and "bar" as variable below:
> > struct foo {
> > FOO(a) bar;
> > };
> > I tried adding "FOO([^)]+)" to c-font-lock-extra-types but it
> > doens't help because c-font-lock-extra-types doens't expect word
> > delimiters.
>
> You might want to try something like
>
> (add-hook 'c-mode-hook
> (lambda ()
> (set (make-local-variable 'font-lock-syntactic-keywords)
> '(("FOO([^)]+)" (0 '(2))))))
>
> To first change the syntax-class of the open and close paren to "word".
> That's pretty ugly but it should work (probably with some fiddling).
I have given up on relying on font-lock for parsing.
I'm experimenting with xemacs.org's semantic now and it looks
good so far -- although it still wouldn't associate "FOO(a)" as
the type of "bar", but at least "bar" is parsed as a variable.
Thanks.
-kin
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-05-22 17:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-19 21:35 C type fontification help Kin Cho
2003-05-19 22:42 ` Stefan Monnier
2003-05-22 17:42 ` Kin Cho
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).