[Geany] {filename} and New with Template (Re: Template for C++ headers)
Nick Treleaven
nick.treleaven at xxxxx
Thu Nov 20 18:41:23 UTC 2008
Sorry for the late reply.
On Wed, 12 Nov 2008 21:08:37 +0100
Enrico Tröger <enrico.troeger at uvena.de> wrote:
> >One idea: maybe when using New with Template and the template uses
> >{filename}, Geany could flag this in a private document field, and
> >not transform it until the file is saved. On saving, Geany could
> >check if the 'replace_template_filename' field is set, and replace
> >all instances of {filename} with the proper filename.
>
> This still won't solve the problem of replacing {filename} with
> HEADERFILE_H. But maybe we could add another wildcard like {FILENAME}
> which will replace the filename with an uppercase variant.
Yes, it would need something like {BASENAME}_H.
> Maybe we don't need an additional flag at all
> when we extend the existing code in replace_header_filename()
> (document.c) to work on the whole file, not only the first three
> lines.
The problem is to avoid false positives - having a flag when using new
with template reduces the problem of unwanted replacements, at least
when saving a file not created with a file template.
But I think there could be a wider issue with templates - e.g. what if
someone wants a {filename} string to appear in their template file and
not be replaced? Using any kind of escaping for all braces e.g. \{\}
would be annoying. So maybe a solution is to make template markers more
unusual, e.g. %?filename?%.
> But I'd still like to have all this done in a plugin in some way.
> Either a new one or by extending the classbuilder plugin to be more
> flexible.
Well, as Lex said it would be strange to use a plugin for C/C++ header
file templates and normal New with Template file templates for all
other files.
Regards,
Nick
More information about the Users
mailing list