Hi Lex,


Thanks for the welcome.  Yes, I read the HACKING doc., and followed it to the letter.  I have the new lexer up and working on a private link from a GIT extract.  The plugin seems to be working as well, so my C skills are getting better (I think).  The idea is to take the snippets in snippets.conf and allow the user to select them (double click to insert snippet) from a scroll window in the side-bar rather than have to remember the keyword (I’m old as well, so memory is an issue J).  The new filetype I want to add has over 500 functions in its library, so you (I) can’t remember the snippet keyword for all of them.  It occurred to me that this should work for any snippets, and it does.


However, although the plugin works for any filetype, it has a “look up this snippet in a PDF file” capability that needs the new filetype to demonstrate it.  So, one thing at once (I am a procedural guy, remember), I’ll request addition of the filetype to Scintilla and then move forward.





From: devel-bounces@lists.geany.org [mailto:devel-bounces@lists.geany.org] On Behalf Of Lex Trotman
Sent: 05 October 2013 11:36
To: Geany development list
Subject: Re: [Geany-Devel] Intro




On 5 October 2013 19:20, Thomas Martitz <thomas.martitz@student.htw-berlin.de> wrote:

Am 05.10.2013 11:11, schrieb Mark Robinson:

Hi All,

Just a note to introduce myself. I am Mark, an old-timer coming from the world of Fortran. My interest in Geany is to use it as a platform to introduce specific functionality to help me and others in my line of work.



And Hi also.


I’ll be requesting an additional file type (additional lexer I have written) be added to Geany, but thereafter I expect most of the functionality will come in the form of a plugin (I am writing one of these as well). I am not a strong user of C/C++, as I said procedural Fortran is my forte, and this is my first plunge into contributing to an open source project, so expect some dumb questions.

First of all, we have an upstream first ideology, partly because we don't have the resources to extra maintain patches for the projects we use. That means that if you write a lexer you should post that to Scintilla upstream, so that it will land into Geany when we update our copy. Then we can accept the filetype definition as well.

Secondly, I think it might actually possible to write plugins mostly in fortran (although I'm not sure Fortran is a suitable language for this, I know nothing about it) with a little C boilerplate code. But GCC allows to call C functions from fortran doesn't it?


See http://gcc.gnu.org/onlinedocs/gfortran/Interoperability-with-C.html but C string handling in Fortran is messy, and for an IDE most code is string handling.  As Thomas said, I think Fortran is probably not the right language to use for a plugin.  In particular as all the plugin API is actually calls via a function pointer, not direct function calls.


You should read (and re-read) the HACKING file, it covers adding a file type and other issues around Geany development.  





Best regards
Devel mailing list