[Geany] Template for C++ headers

Lex Trotman elextr at xxxxx
Mon Nov 10 23:34:54 UTC 2008


2008/11/11 Enrico Tröger <enrico.troeger at uvena.de>

> On Tue, 04 Nov 2008 15:24:05 +0200, jay <jay.27182818 at gmail.com> wrote:
>
> Hi Jay,
>
> sorry for the late answer.
>
>
> >hi guys! i've recently switched to geany from cdt (eclipse plugin for
> >c/c++). when you create a new header file in cdt it's default content
> >is like below:
> >
> >#ifndef SOMEHEADER_H_
> >#define SOMEHEADER_H_
> >
> >#endif /*SOMEHEADER_H_*/
> >
> >where SOMEHEADER is the name of the file. Can you tell me how can i
> >make it in geany? I have created a template and put it into
> >~/.geany/templates but geany doesn't seem to see it even after restart.
> >my template has this content:
> >
> >#ifndef {filename}
> >#define {filename}
> >
> >#endif /*{filename}*/
> >
> >but filename is not what i need. I got stuck at this point. Need your
> >help.
>
> Unfortunately, most of the wildcards (to be more specific: all except
> {fileheader}) are not replaced for custom file templates.
> I just changed this in the SVN version so that the other wildcards can
> be used, too. So, also {filename} will now be replaced.
>
> But this still doesn't help you because when you create a new document
> from a fle template, Geany will name this document 'untitled.xxx' where
> xxx is the extension of the template file.
>
> So, even if you would use something like
>
> ifndef {filename}
> define {filename}
>
> endif /*{filename}*/
>
> would result in
>
> #ifndef untitled.h
> #define untitled.h
>
> #endif /*untitled.h*/
>
>
> The problem is that you want to have the final filename in the document
> after you initially saved it to disk. But at this point Geany doesn't
> know anything anymore about the template.


Perhaps in the meantime Jay could use a snippet and insert it after saving
the file.
e.g.defining in section [C] in your snippets.conf
hguard=#ifndef HAVE_{filename}\n#define HAVE_{filename}\n\n#endif

This still requires editing the result as it will contain a dot (.h) which
isn't
allowed in identifiers but it is part way there.  Perhaps adding an extra
substitute
thats equivalent of %e in the make commands would be an easy fix?


> I don't think we should do anything about this in Geany itself.
> But it should be possible and reasonable to do this for a plugin, maybe
> with some other useful additions to the template system.
> If anyone wants to work on this, feel free to do so and to ask for help.
>
> Regards,
> Enrico
>
> --
> Get my GPG key from http://www.uvena.de/pub.asc
>
> _______________________________________________
> Geany mailing list
> Geany at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/users/attachments/20081111/f7fa4e6c/attachment.html>


More information about the Users mailing list