[Geany] Bunch of feature requests...

Lex Trotman elextr at xxxxx
Mon May 9 23:22:12 UTC 2011


On 10 May 2011 08:39, Eugenio Rustico <jfrusciante at tiscali.it> wrote:
>  Hi,
> before submitting "official" feature requests I thought someone could
> comment some points (or maybe this *is* a feature request). Just my
> personal notes approaching geany after years of kate and vim. I hope
> I'll have the time (in months) to download geany source and take a
> look inside, maybe submitting a patch or something.

Welcome.

>
> * line wrapping: changing the options in settings changes the default
> from now on, if I already have tens of files opened without the option
> enabled there is no way to set line wrapping for every doc, right? I
> had to edit the project file, select the lines of opened files and
> (with vim):  " :'<,'>s/0;\//1;\//g ". So, the request is: some way to
> toggle line wrapping for every already opened document?

Not at the moment.

>
> * is it easy to implement a "reload all" function (useful especially
> when working with a versioning system and multiple files change)?

Well, its possible, but there would likely be discussion along the
lines of the comments I made in the previous email before it was
accepted (or not) into Geany.

>
> * why don't you use a standard tag format (e.g. exubertant-ctags)?
> there could be plenty of tags ready to use, made with a more flexible
> tool

IIUC tagmanager code was based on exuberant tags originally, but it
has now diverged somewhat, again IIUC exuberant tags was unmaintained
for a while.  Recently features like in-memory parsing have been added
so we can no longer synchronise.  Of course its always possible to add
the capability to read other tags formats.

>
> * maybe an "import project" function would be useful, scanning a
> directory (recursively?) and opening/adding to project every listed
> file

There will shortly (right Jiří) be a new project plugin that might
provide many of the features you want, it is targeted at large
projects with lots of files.

>
> * a "project" in geany is just a session, am I right? Is there any way
> to have a project with many files while having just a subset open?
>

As you say "project" mostly means a separate session, but it does
contain some other settings.  In general this is good in my opinion,
it doesn't get in the way, unlike other IDEs that do more with their
projects but also apply restrictions to how they are used, eg Kdevelop
is so wedded to Cmake/make the the only way to run any other command
is to have a makefile with it in.

Some settings like the project build settings apply to all the files
in the tree (well actually they apply to anything they want to apply
to, but tree is what most people make them to apply to).

> * it is a bit awkward to disable localization by setting and env
> variable; means creating a script and changing e.g. system menu links.
> Localization should be easily deactivable, especially when a language
> is not completely translated (or a bit inaccurate)

This is controlled by the localisation libraries (gettext etc).  It
might be possible to set it once at startup but I am not an expert.
That would mean a command line option.

>
> * a predefined context action for a file or selection could be sending
> the text to a pastebin; there are scripts that do it automatically for
> sprunge (maybe also for pastebin), i.e.  "$ filename > sprunge"


Not sure what you want, if it requires running an external command,
remember that you can define context commands that send text to
external commands.

>
> * "go to next error" doesn't always work. Unfortunately I didn't write
> down the case in which this didn't worked :( If it happens again, I'll
> submit a proper communication

Please do, I have to admit I don't use it, I look at the error
messages in the message window and click on them to go to the
compiler's wild guess at where the error is.

>
> * in filetype_extensions.conf, both C and C++ have .h extension; in a
> project with both C and C++ files, geany was not able to recognize
> which header was a c++ header and which one was a C header. Maybe one
> could check the extension of a file with the same name? (i.e. if there
> is a fname.cpp, fname.h must be C++ too, etc.)
>

Probably better to look for a comment inside the file, eg emacs -*-
C++ -*- or vim's equivalent (or both).  The matching .c/.cpp file
isn't always open or in the same directory as the .h file.
It has been proposed before (including by me), but no one (including
me :-) has cared enough to implement it.

And as I have ranted here before :-) C++ headers should be .hpp and
its *very* unfortunate that Stroustrup chose to keep .h since C++
headers can contain features unacceptable to C.  But if its your own
software and you have the choice...


> * it would be nice to have a function that switches to the
> correspondent header file, opened or not (opening a new tab in case is
> not)

I think Jiří's project plugin can do that, it is a very language
specific feature, so it would have to be controlled by the filetype.*
files, maybe by listing pairs of extensions.

>
> Thanks... I hope I'm not too wrong.


Cheers
Lex



More information about the Users mailing list