[Geany-Users] Highlight C function names?

Matthew Brush mbrush at xxxxx
Fri Jan 17 02:55:21 UTC 2014


On 14-01-16 04:25 PM, Nate Bargmann wrote:
> * On 2014 16 Jan 17:16 -0600, Lex Trotman wrote:
>> [...]
>>
>>> However, a quick test shown that the style identifier (as provided by
>>> Scintilla) matches way more than function names only. It highlights also
>>> local variables in functions and many more symbols.
>>>
>>
>> Yeah, thats the problem (my understanding of the OP was they only wanted
>> function names highlighted, not variables).
>
> Indeed, only functions and macros called as functions.  Naively,
> anything that follows the C rule for a function name, is preceeded by a
> word boundary, and succeeded by an opening parenthesis, '(', is what I
> would like to highlight.  Years back I used FTE which did this which is
> where I became used to it but for various reasons I much prefer Geany.
>

One could hack something up in a plugin as a kind of workaround, but it 
would be sub-optimal. Maybe by handling Scintilla's sci-notify event to 
trigger off of modify and delete text notifications (ie. buffer 
changed), then do a pass over the buffer with GRegex, styling each match 
manually.

It would probably be quite slow if you opened massive source files but I 
did something similar before (for highlighting something else) and it 
wasn't noticeably slow on "normal" sized source code files IIRC.

Of course patching Scintilla's LexCPP.cxx to support styling function 
names would be much better. The Python lexer supports this for function 
definition names.

Cheers,
Matthew Brush



More information about the Users mailing list