[Geany] Help with custom compiler

Laszlo Nagy gandalf at xxxxx
Thu Jul 19 07:38:40 UTC 2012


>> Thanks. But I still don't know how to do it. Obviously, I wouldn't like to
>> browse C source files. In fact it was about 5 years ago when I last wrote a
>> program in C, so even if I downloaded the sources, it wouldn't help.
> A quick search of the manual for regex finds
> http://www.geany.org/manual/current/#build-settings-section for how
> the regex is used

I could setup Geany so that it automatically opens files referenced from 
error messages (if they are not opened yet). It can also navigate to the 
good line number. How can I use non-capturing groups in the error 
parsing regex?

Here is an example. There are two kinds of error messages that I can get 
- because there can be an error in the compiler that I'm working on, and 
also there can be an error in the file that is being compiled:

Error message (type one):

File "/home/gandalf/Python/Lib/shopzeus/scripts/ssdlc.py", line 23, in 
<module>

Regexp (type one):

\s*File\s\"([^\"]+)\", line (\d+), in\s*(.*)


Error message (type two):

/home/gandalf/Python/Lib/shopzeus/demos/ssdl/test/test.ssdl:53:9:Syntax 
error

Regexp (type two):

([^:]+):([^:]+):[^:]+:([^:]+)

Both of these errors can happen then I press F8, so I would like to 
capture both messages if possible.  This is what I have tried:

(?:\s*File\s\"([^\"]+)\", line (\d+), 
in\s*(.*))|(?:([^:]+):([^:]+):[^:]+:([^:]+))

But it does not capture errors in the compiler. Maybe my regular 
expression is wrong. Or maybe the non-capturing group "?:" does not work.

Here are some things that don't work:

  * Cannot make a difference between warnings and errors. Now I know
    that this is a limitation of Geany and I can live with it. It would
    be a good improvement though.
  * My compiler actually can tell the column number of the error too.
    Geany cannot interpret column numbers in error messages, right? This
    could be a good improvement too. ( Should I post this as a request
    on the dev list? )
  * It is a bit off topic. When using GNU style error messages under
    Windows, parts of the error messages are ambiguous. Because the
    parts should be separated with colons, but under Windows the file
    names can contain colons too. I understand that this is a limitation
    of the GNU standard, not Geany. And I know that I could use a
    different error message format. But I'm hesitant to do it. What is
    better: follow the standard, or make it working? Is there a way to
    have both?

Otherwise, I'm quite satisfied now. :-) Thank you for your help!

Best,

   Laszlo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/users/attachments/20120719/9c244ba2/attachment.html>


More information about the Users mailing list