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